Skip to main content
Glama

Server Details

Personal-finance workspace for AI agents: accounts, spending, budgets, goals, and investments.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
candorsystems/candor-finance
GitHub Stars
2
Server Listing
candor-finance

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation4/5

Each tool has a distinct role (query, write, preview, schema discovery, snapshot, visualize, etc.), and cross-references clarify boundaries. Slight overlap exists between candor_open, candor_query, and candor_snapshot as read-style tools, but their scopes are differentiated enough that an agent can reliably select among them.

Naming Consistency5/5

All tools follow a consistent candor_<verb> pattern with clear verbs: changes, configure_overview, connections, get, open, preview, query, schema, snapshot, visualize, write. The naming is uniform, predictable, and reflects each tool's action.

Tool Count5/5

11 tools is well within the ideal range for a financial API MCP server. Each tool covers a distinct API surface area: discovery, reads, writes, preview, configuration, visualization, and connection management, so no tool feels redundant or excessive.

Completeness4/5

The tool set provides a strong end-to-end workflow: schema discovery, querying, reading openings, writing acknowledgments, previewing mutations, executing writes, and visualizing overviews. Minor gaps exist such as no explicit disconnect tool (connections are web-portal only) and no dedicated batch operation, but the core financial inspection/action lifecycle is well covered.

Available Tools

11 tools
candor_changesInspect Candor changesAInspect

Inspect computed comparisons for spending, income, recurring payments, account terms, and investment positions, with basis handles and coverage caveats. Spending and income use inclusive since/until and comparison_since/comparison_until date ranges and compare recorded posted totals, not normalized rates. Without ranges the last complete UTC calendar month is compared with the preceding month; the response reports both date ranges. limit trims output items and never changes the financial comparison. Source history may be incomplete; capped evidence suppresses spending and income comparisons. Use candor_open for new activity and current attention, candor_get for an exact record, candor_query for dated dataset rows, and candor_snapshot for scoped analysis across datasets. This read records action history and an audit event using reason, but does not advance the shared opening checkpoint, mark activity seen, resolve attention, or consume due notes. Acknowledge a processed opening separately through its open.acknowledge next action.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum change items to return, from 1 to 1000; defaults to 25. Only trims output, never the comparison evidence.
sinceNoInclusive start of the current range (YYYY-MM-DD). Supply all four range dates for spending or income comparisons.
untilNoInclusive end of the current range (YYYY-MM-DD).
domainNoRestrict to one change domain; omitted or all includes every supported domain. Values: all, spending, income, recurring, account_terms, investments.
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.
comparison_sinceNoInclusive start of the comparison range (YYYY-MM-DD).
comparison_untilNoInclusive end of the comparison range (YYYY-MM-DD).
account_identity_idNoRestrict changes to one durable account identity before applying history caps. This scope applies to every domain; for investments it reads that account's own position observations, so a busy vault cannot crowd the account out of the capped read.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though annotations are sparse, the description discloses the tool's side-effect profile: it records action history and an audit event using reason, but does not advance the shared opening checkpoint, mark activity seen, resolve attention, or consume due notes. It also explains default date-range behavior and source-history incompleteness, going well beyond what the 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place: purpose, default behavior, limitations, sibling routing, and side-effect caveats are all covered. The main purpose is front-loaded, though the density of caveats makes it heavier than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, existing output schema, and side-effecting behavior, the description covers defaults, parameter semantics, side effects, and sibling distinctions comprehensively. An agent has enough context to call the tool correctly without needing other sources.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds meaningful semantics: since/until and comparison_since/comparison_until are inclusive and compare posted totals rather than normalized rates, the default range behavior is defined, and limit only trims output rather than affecting the comparison. This goes beyond the individual parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb 'Inspect computed comparisons' and enumerates the supported domains: spending, income, recurring payments, account terms, and investment positions. It also differentiates itself by naming sibling tools for different purposes, so an agent can distinguish it without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly routes to alternatives: candor_open for new activity and current attention, candor_get for exact records, candor_query for dated rows, and candor_snapshot for scoped cross-dataset analysis. It also clarifies behavioral boundaries such as 'limit trims output items and never changes the financial comparison' and conditions like capped evidence suppressing comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_configure_overviewConfigure Candor OverviewA
Destructive
Inspect

Save exactly five unique panels as the workspace Overview. Reuse idempotency_key for transport retries, which replay the original result. After a refused action and access recovery, start a new save with a new key. Returns the saved configuration or an access recovery envelope; candor_visualize reads the configured Overview or individual panels.

ParametersJSON Schema
NameRequiredDescriptionDefault
panelsYes
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.
idempotency_keyNoStable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true and idempotentHint=false, but the description adds meaningful behavioral detail: that reusing idempotency_key replays the original result, that a new key is required after a refused action and access recovery, and that the return may be an 'access recovery envelope'. This goes beyond the annotation flags without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is composed of three tightly scoped sentences, front-loaded with the core action and constraint. It avoids redundancy and every clause adds operational value (panels constraint, idempotency behavior, recovery requirement, return type, and reading sibling). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the operation's complexity (5 parameters, output schema, destructive annotation), the description covers essential context: exact panel count, retry semantics, recovery handling, and the return type. The existence of an output schema means return values need not be detailed. A small gap is the absence of any prerequisite or condition stating when configuration is allowed, but the description is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, with detailed descriptions for reason, task_key, parent_action, and idempotency_key. The description adds minimal parameter-specific value: it reiterates the panels constraint ('exactly five unique panels') and the idempotency_key retry behavior, both already covered by schema descriptions. Thus a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Save exactly five unique panels as the workspace Overview.' It specifies the resource (Overview), the constraint (exactly five unique panels), and the expected result (returns saved configuration or access recovery envelope). It also differentiates from candor_visualize by noting that the latter reads the Overview, making the separation of concerns obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use this tool: to configure the Overview, and indirectly when not to use it by mentioning candor_visualize reads the configured Overview. It also gives operational guidance on idempotency_key reuse for retries and recovery after refused actions. However, it does not explicitly enumerate exclusions or alternatives beyond candor_visualize, so a slight deduction from a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_connectionsRefresh Candor connectionsA
Destructive
Inspect

Refresh already-connected sources through the Candor API. Financial-source connection, reconnection, and disconnection happen only in the secure Candor web portal; query the accounts dataset to inspect connected financial accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args.
inputNoInline request body matching the operation input schema returned by candor_schema. Put fields such as a note's about link inside this object.
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
operationYesExact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.
idempotency_keyNoStable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already carry readOnlyHint=false, destructiveHint=true, and idempotentHint=false, so the agent knows this is a mutating, non-idempotent operation. The description adds useful context about the portal-only boundary for connection lifecycle. However, it doesn't explain what 'refresh' changes or what destructive behavior might be implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both information-dense, with the core purpose front-loaded and the boundary condition in the second sentence. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a wrapper tool with 7 generic parameters, an output schema, and annotations covering safety, the description covers the essential selection facts: what it refreshes, what it cannot do, and where to inspect accounts. A small gap is not naming the sibling or explaining the effect of refresh.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are documented elsewhere. The description adds no parameter-specific guidance beyond naming the operation (refresh), which is acceptable but not additive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Refresh') and a specific resource ('already-connected sources through the Candor API'). It also distinguishes itself by stating what it does not do: connection, reconnection, and disconnection happen only in the web portal, and inspection is done via the accounts dataset. This separates it from the sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-not: connection/reconnection/disconnection are excluded from this tool, and inspecting accounts should be done by querying the accounts dataset. It doesn't explicitly name a sibling tool as an alternative, but the routing guidance is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_getGet Candor objectAInspect

Read one typed object or exact GET operation through the Candor API. Describe an unfamiliar operation with candor_schema before supplying its operation-specific args. The full response returns in this tool result. This read records private action history and audit events without changing financial records.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args.
inputNoInline request body matching the operation input schema returned by candor_schema. Put fields such as a note's about link inside this object.
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
operationYesExact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.
idempotency_keyNoStable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the operation records private action history and audit events and does not change financial records, adding useful nuance beyond the annotations. This is especially valuable because the tool is called a 'read' yet has side effects, which aligns with readOnlyHint=false rather than contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the core action is front-loaded, followed by a practical prerequisite and a behavioral caveat. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema descriptions, annotations, and presence of an output schema, the description covers all essential behavioral context. It states the full response returns in the tool result, mentions the candor_schema prerequisite, and clarifies the side-effect profile, making it complete for an agent to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the baseline is 3. The description does not add parameter-level meaning beyond mentioning operation-specific args and candor_schema; the schema already thoroughly explains args, input, reason, parent_action, task_key, and idempotency_key.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Read') and resource ('one typed object or exact GET operation through the Candor API'), making the core action clear. It does not explicitly distinguish itself from sibling tools such as candor_query or candor_open, though 'exact GET operation' provides some implicit contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit procedural guidance: consult candor_schema for unfamiliar operations before supplying args. It also sets the expectation of exact GET operations, but it does not mention when not to use this tool or explicitly name alternatives like candor_query or candor_write.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_openOpen CandorAInspect

Read the workspace, or use mode=pulse for a compact inspection signal that carries no checkpoint. In the default opening mode the checkpoint is data.new_since_checkpoint.checkpoint_candidate, and the open.acknowledge entry in next_actions carries the same value as args.checkpoint; acknowledgment is a separate candor_write operation after processing that opening. This read records private action history and audit events without changing financial records. Return workspace context, financial position, approved state, new activity, factual attention, and executable next actions. Reading does not advance the shared checkpoint. The checkpoint for this opening is data.new_since_checkpoint.checkpoint_candidate; the same value is carried as args.checkpoint on the open.acknowledge entry in next_actions, so find that entry by command rather than by position. After processing this opening, acknowledge that exact checkpoint to mark activity as seen; acknowledgement does not resolve attention or due notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses important behavioral traits beyond annotations: reading records private action history and audit events without changing financial records, reading does not advance the shared checkpoint, and acknowledgment does not resolve attention or due notes. It also explains the checkpoint/acknowledgment mechanism in detail. These statements do not contradict readOnlyHint=false, since audit recording is a side effect without financial mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and contains rich operational detail, but it repeats the checkpoint/args.checkpoint relationship almost verbatim twice, making it longer than necessary. A single consolidated explanation of the checkpoint flow would be tighter without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and four optional parameters, the description is complete enough for an agent to invoke the tool correctly. It covers purpose, mode differences, side effects, checkpoint behavior, the acknowledgment step as a separate candor_write operation, and the limits of acknowledgment. Nothing essential to executing the operation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, and the parameters reason, task_key, and parent_action already carry detailed schema-level descriptions. The description adds meaningful semantics for mode, explaining that pulse is a compact inspection signal with no checkpoint while the default opening mode carries a checkpoint. This compensates for the one parameter that lacks schema-level description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Read the workspace' and enumerates the returned content, including workspace context, financial position, approved state, new activity, factual attention, and executable next actions. It also distinguishes the default opening mode from the compact pulse mode. However, it does not explicitly contrast candor_open with sibling read tools like candor_get or candor_query, so sibling differentiation is implicit rather than named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete usage guidance for mode selection: use mode=pulse for a compact inspection signal with no checkpoint, otherwise use the default opening mode. It also describes the required follow-up acknowledgment via candor_write and cautions that the open.acknowledge entry must be located by command rather than position. It does not state when to prefer candor_open over sibling read tools, but the operational flow is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_previewPreview Candor changesAInspect

Preview a POST operation through the Candor API without applying the proposed changes. candor_schema describes the preview operation and its arguments or input schema. Previews record private action history and audit events.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args.
inputNoInline request body matching the operation input schema returned by candor_schema. Put fields such as a note's about link inside this object.
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
operationYesExact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.
idempotency_keyNoStable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses that previews record private action history and audit events, making clear the operation is not fully side-effect-free even though changes are not applied. 'Without applying the proposed changes' clarifies write semantics, and nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler: core behavior first, schema pointer second, side-effect disclosure third. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema and fully described parameters, the description plus schema covers what an agent needs: behavior, side effects, and the pointer to candor_schema for operation-specific arguments. It could be more complete by explicitly naming the applying sibling, but that is not a critical gap for a preview tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter already has a detailed schema description. The tool description itself adds no independent parameter semantics beyond referring to candor_schema for operation arguments, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb and object: it previews a POST operation through the Candor API and explicitly states it does not apply the proposed changes. This clearly distinguishes it from write/apply tools and from candor_schema, which describes operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Use is implied: preview is for inspecting a POST operation before applying it, and the description points to candor_schema for operation details. However, it never explicitly names an alternative like candor_write for actually applying changes, nor does it state when not to use preview.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_queryQuery Candor dataAInspect

Run one limited query against a declared financial dataset in the Candor API. The full response returns in this tool result; use limit and cursor pagination to keep each page bounded. A cursor is bound to the exact filters of the page that issued it, so replay the returned next_actions call unchanged. This read records private action history and audit events without changing financial records. Run one bounded query against a declared financial dataset. Inspect the selected dataset schema for accepted filters and defaults; omitting filters uses those defaults. Cursor-paginated results keep records, calculations, and pagination under data.page. Calculations cover exactly the returned records, not later pages or the full workspace. Follow next_actions for the exact continuation, preserving the query filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
datasetYesDeclared dataset to read. Inspect its schema when its fields or filters are unfamiliar.
filtersNoDataset query filters declared by candor_schema({dataset}), including supported limit and cursor fields. Omit to use that dataset's defaults. Do not put action context here.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations all set to false/negative, the description carries the responsibility and it does well: it discloses that reads are recorded in private action history and audit events, that financial records are not changed, and that an op cursor is bound to the exact filters of the page that issued it. It also explains that calculations cover only the returned records, not later pages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and substantive, but it repeats the core instruction ('Run one limited query...' and then 'Run one bounded query...') and states cursor/pagination guidance multiple times. It is redundant enough to cost it a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, one required parameter, an output schema, and non-helpful annotations, the description is largely complete: it covers the single-query constraint, filter defaults, cursor pagination, action-history side effects, and next_action continuation. It does not cover authorization or rate limits, but that is a minor gap given its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all parameters at 100% coverage, so the baseline is 3. The description raises the score by adding important behavioral guidance around parameters: cursor binding, replaying next_actions unchanged, filter defaults, and pagination placement under data.page.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action and scope: 'Run one limited query against a declared financial dataset in the Candor API' and clarifies it is a read that does not change financial records. It does not explicitly compare itself with sibling tools such as candor_get or candor_schema, so it misses the strongest distinction-level guidance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance: inspect the selected dataset schema, omit filters to use defaults, use limit/cursor pagination, and follow next_actions for continuation. It does not state explicit when-to-use/when-not-to-use rules versus sibling tools, so the guidance is useful but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_schemaInspect Candor schemaAInspect

Discover contracts before using unfamiliar datasets, filters, or operations. Choose one mode: omit selectors for the workspace schema index, or set dataset for one dataset schema; set operation for an exact operation contract and call shape; set query to search the operation catalog. dataset, operation, and query are mutually exclusive, with no precedence. limit applies only to query (default 10, maximum 10). Reuse a known current schema or an exact next_actions call without rediscovering it. This tool returns contracts, not financial records. Workspace and dataset schema reads record private action history and audit events; catalog searches and operation descriptions are local lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum operation search matches; default 10. Valid only with query.
queryNoSearch operation names and capability descriptions. Use the returned operation id with operation for its full contract; do not combine with dataset or operation.
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
datasetNoInspect one dataset: fields, supported query filters, and coverage contract. Omit all selectors for the workspace schema index.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
operationNoDescribe one exact operation id, including accepted_args, input_schema when applicable, and invocation shape. Do not combine with dataset or query.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry no safety hints, so the description carries the full burden. It discloses that workspace and dataset schema reads record private action history and audit events, while catalog searches and operation descriptions are local lookups. It also explains the reason parameter is recorded in immutable action history, that a reason is not approval, and how parent_action inheritance works—far 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but each sentence carries load—purpose, modes, constraints, behavioral notes, and usage tips. It front-loads the core purpose and uses a logical mode-based structure. A couple of details (e.g., 'no precedence' and 'fixed-reason orientation operations') are dense but necessary for correctness. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with an output schema and complex interaction rules, the description covers all critical aspects: parameter relationships, side effects, reason/parent semantics, and when to use each mode. It even preempts common mistakes (e.g., combining selectors, using limit without query). Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds substantial meaning: mutual exclusivity rules, the scope of limit ('applies only to query, default 10, maximum 10'), reason semantics (immutability, not approval, root requirement, inheritance), task_key grouping behavior, and parent_action inheritance rules. These are not in the schema and materially affect correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear, specific purpose: 'Discover contracts before using unfamiliar datasets, filters, or operations.' It then enumerates the exact modes (workspace index, dataset, operation, query) and distinguishes the tool from siblings like candor_get and candor_query by focusing on contract discovery rather than data retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance ('before using unfamiliar datasets, filters, or operations') and detailed mode selection rules, including mutual exclusivity of dataset/operation/query, the scope of limit, and a tip to reuse known schemas or next_actions calls without rediscovering. It also clarifies that this tool returns contracts, not financial records, steering agents away from misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_snapshotBuild Candor snapshotAInspect

Compose an explicitly scoped analytical response using only the snapshot datasets declared by candor_schema. The full snapshot returns in this tool result; scope datasets and filters to keep it bounded. Dataset reads record private action history and audit events without changing financial records.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
filtersNoShared filters applied to each selected dataset query. Inspect each dataset schema for supported fields; omit for per-dataset defaults. The dataset selector is supplied by datasets.
datasetsYesUnique declared datasets to include in this analytical snapshot; select only those needed for the analysis.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals that dataset reads record private action history and audit events without changing financial records. This is valuable behavioral context beyond the annotations, which only state readOnlyHint=false, openWorldHint=false, idempotentHint=false, destructiveHint=false. It clarifies the nature of side effects without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each carrying distinct information: purpose, result/scoping guidance, and side-effect behavior. The purpose is front-loaded and there is little wasted wording, though the phrase 'explicitly scoped analytical response' is slightly abstract and could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 need not explain return values. It covers the key operational concerns: which datasets are allowed, how to keep results bounded, and what side effects occur. It does not discuss alternate sibling use cases, but the schema-rich context and output schema make the definition adequate for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already explains datasets, filters, reason, task_key, and parent_action. The description adds some operational guidance ('scope datasets and filters to keep it bounded') but does not materially expand on the parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Compose an explicitly scoped analytical response') and a specific resource ('snapshot datasets declared by candor_schema'), which clearly identifies what the tool produces. It does not explicitly distinguish itself from sibling tools like candor_query or candor_get, but the 'snapshot' phrasing and dataset-scoping constraint make the purpose reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives practical in-tool guidance: 'scope datasets and filters to keep it bounded' and 'using only the snapshot datasets declared by candor_schema.' However, it never explicitly explains when to use this snapshot tool versus alternatives such as candor_query or candor_get, so the usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_visualizeVisualize Candor dataCInspect

Read one focused Candor panel or the stored Overview as text context, structured panel data, and a View in Candor link; hosts that declare MCP App rendering also draw the panel with the dashboard's own renderer. Hosts without rendering receive the text context and View in Candor link. Overview configuration is saved separately by candor_configure_overview. Panel reads record private action history and audit events without changing financial records.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
panelNo
panelsNo
presetNo
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool 'Read's data 'without changing financial records', implying a read-only operation. However, the annotations declare readOnlyHint=false, which directly contradicts the description's read-only claim. Per the contradiction rule, this dimension must be scored 1.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized, front-loading the core verb and resource in the first clause. The conditional rendering behavior and the note on overview configuration are relevant, though the description is longer than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 optional parameters and a complex rendering conditional, the description omits guidance on when to use panel vs panels, how preset interacts with date ranges, and what the action-history implications are beyond a read claim. The annotation contradiction further weakens its completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 38%, so the description needed to compensate by explaining parameters, but it does not. It never clarifies the relationship between to/from and preset, nor how to choose between panel and panels, relying on schema enums and existing inline descriptions instead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Read one focused Candor panel or the stored Overview' and enumerates the outputs: text context, structured panel data, and a View in Candor link. It also distinguishes itself from overview configuration by naming candor_configure_overview, but it does not differentiate from read siblings like candor_get or candor_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when reading a Candor panel or the stored Overview, and it notes that overview configuration belongs to candor_configure_overview. However, it gives no explicit guidance on when to choose this tool over other read-oriented siblings such as candor_get or candor_query, leaving alternatives to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

candor_writeWrite Candor stateA
Destructive
Inspect

Create, update, or remove typed workspace state through validation and audited action history. Find an unfamiliar operation with candor_schema(query), then describe it with candor_schema(operation) for accepted_args, input_schema, confirmation requirements, and the correct tool. candor_preview provides read-only previews where supported; the operation contract defines any required prerequisites. A preview or reason does not grant approval. Put declared arguments in args and the request-body object in input. Includes open.acknowledge with args.checkpoint to mark a processed opening as seen. Returns an envelope with the changed object or receipt; inspect status, errors, and next_actions before assuming success. Invalid operations or arguments return schema recovery without executing the write. For an unknown outcome or an already-completed response that cannot be replayed, inspect workspace state before attempting another write.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args.
inputNoInline request body matching the operation input schema returned by candor_schema. Put fields such as a note's about link inside this object.
reasonNoConcise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason.
task_keyNoOptional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency.
operationYesExact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call.
parent_actionNoExisting action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action.
idempotency_keyNoStable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
actionNo
errorsYes
statusYes
metadataNo
warningsYes
request_idYes
generated_atYes
next_actionsYes
user_messageNo
data_freshnessNo
schema_versionYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the safety profile is known. The description adds substantial context beyond that: returns an envelope whose status/errors/next_actions must be inspected before assuming success, invalid operations return schema recovery without executing, previews/reasons do not grant approval, and unknown outcomes require inspecting workspace state before retrying. This materially helps an agent reason about post-conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long (~200 words) and dense, but every sentence earns its place given the tool's complexity: 7 parameters, nested objects, and a rich sibling ecosystem. The core purpose is front-loaded, and the operational guidance is grouped logically. Only minor redundancy around 'reason is not approval' (stated twice) keeps this from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Remarkably complete for a tool at this complexity. It covers operation discovery, preview behavior, the args/input handoff, envelope return semantics, error recovery, idempotency guidance, and unknown-outcome handling — all without needing to explain the return shape since an output schema exists. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining the critical args/input split (declared arguments vs request-body object), calling out the open.acknowledge checkpoint shorthand, and clarifying that reason is not approval. It does not restate schema content, which is the right division of labor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb set (create/update/remove), the resource (typed workspace state), and the mechanism (validation and audited action history). The description also distinguishes itself from siblings by positioning candor_preview as the read-only counterpart and candor_schema as the operation-discovery tool, so an agent can tell them apart without inspecting sibling schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to guidance: consult candor_schema(query) for unfamiliar operations, use candor_schema(operation) for accepted_args/input_schema/confirmation, and use candor_preview for read-only previews. It also states the args-vs-input split and the open.acknowledge shorthand, leaving little to inference.

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.

  1. 11 tool updates
    • Changedcandor_changes12 fields changed
      • addedInput schema / properties / account_identity_id / description
        Added value: +"Restrict changes to one durable account identity before applying history caps. This scope applies to every domain; for investments it reads that account's own position observations, so a busy vault cannot crowd the account out of the capped read."
      • addedInput schema / properties / comparison_since
        Added value: +{
        +  "description": "Inclusive start of the comparison range (YYYY-MM-DD).",
        +  "type": "string"
        +}
      • addedInput schema / properties / comparison_until
        Added value: +{
        +  "description": "Inclusive end of the comparison range (YYYY-MM-DD).",
        +  "type": "string"
        +}
      • addedInput schema / properties / domain / description
        Added value: +"Restrict to one change domain; omitted or all includes every supported domain. Values: all, spending, income, recurring, account_terms, investments."
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / limit / description
        Added value: +"Maximum change items to return, from 1 to 1000; defaults to 25. Only trims output, never the comparison evidence."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / since
        Added value: +{
        +  "description": "Inclusive start of the current range (YYYY-MM-DD). Supply all four range dates for spending or income comparisons.",
        +  "type": "string"
        +}
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • addedInput schema / properties / until
        Added value: +{
        +  "description": "Inclusive end of the current range (YYYY-MM-DD).",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "reason"
        -]
    • Changedcandor_configure_overview5 fields changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Stable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "panels",
        -  "reason"
        -]New value: +[
        +  "panels"
        +]
    • Changedcandor_connections6 fields changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Stable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations."
      • addedInput schema / properties / operation / description
        Added value: +"Exact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "operation"
        -]New value: +[
        +  "operation"
        +]
    • Changedcandor_get7 fields changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Stable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations."
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / operation / description
        Added value: +"Exact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "operation"
        -]New value: +[
        +  "operation"
        +]
    • Changedcandor_open4 fields changed
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
    • Changedcandor_preview7 fields changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Stable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations."
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / operation / description
        Added value: +"Exact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "operation"
        -]New value: +[
        +  "operation"
        +]
    • Changedcandor_query7 fields changed
      • addedInput schema / properties / dataset / description
        Added value: +"Declared dataset to read. Inspect its schema when its fields or filters are unfamiliar."
      • changedInput schema / properties / filters / description
        Previous value: -"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."New value: +"Dataset query filters declared by candor_schema({dataset}), including supported limit and cursor fields. Omit to use that dataset's defaults. Do not put action context here."
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "dataset"
        -]New value: +[
        +  "dataset"
        +]
    • Changedcandor_schema8 fields changed
      • addedInput schema / properties / dataset / description
        Added value: +"Inspect one dataset: fields, supported query filters, and coverage contract. Omit all selectors for the workspace schema index."
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / limit / description
        Added value: +"Maximum operation search matches; default 10. Valid only with query."
      • addedInput schema / properties / operation / description
        Added value: +"Describe one exact operation id, including accepted_args, input_schema when applicable, and invocation shape. Do not combine with dataset or query."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • addedInput schema / properties / query / description
        Added value: +"Search operation names and capability descriptions. Use the returned operation id with operation for its full contract; do not combine with dataset or operation."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
    • Changedcandor_snapshot7 fields changed
      • addedInput schema / properties / datasets / description
        Added value: +"Unique declared datasets to include in this analytical snapshot; select only those needed for the analysis."
      • changedInput schema / properties / filters / description
        Previous value: -"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."New value: +"Shared filters applied to each selected dataset query. Inspect each dataset schema for supported fields; omit for per-dataset defaults. The dataset selector is supplied by datasets."
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "datasets"
        -]New value: +[
        +  "datasets"
        +]
    • Changedcandor_visualize5 fields changed
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • removedInput schema / required
        Removed value: -[
        -  "reason"
        -]
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "panels": {
        -        "items": {
        -          "oneOf": [
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "account_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "asset_accounts": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "as_of": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "balance": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "institution": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "mask": {
        -                        "type": "string"
        -                      },
        -                      "name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "as_of",
        -                      "category",
        -                      "id",
        -                      "name"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "assets": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "const": "net-position",
        -                  "type": "string"
        -                },
        -                "liabilities": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "liability_accounts": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "as_of": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "balance": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "institution": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "mask": {
        -                        "type": "string"
        -                      },
        -                      "name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "as_of",
        -                      "category",
        -                      "id",
        -                      "name"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "net": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "period_change": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "assets": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "amount": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            },
        -                            "percent": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "number"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ]
        -                            },
        -                            "since": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "amount",
        -                            "percent",
        -                            "since"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ]
        -                    },
        -                    "liabilities": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "amount": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            },
        -                            "percent": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "number"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ]
        -                            },
        -                            "since": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "amount",
        -                            "percent",
        -                            "since"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ]
        -                    },
        -                    "net": {
        -                      "anyOf": [
        -                        {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "amount": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            },
        -                            "percent": {
        -                              "anyOf": [
        -                                {
        -                                  "type": "number"
        -                                },
        -                                {
        -                                  "type": "null"
        -                                }
        -                              ]
        -                            },
        -                            "since": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "amount",
        -                            "percent",
        -                            "since"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        {
        -                          "type": "null"
        -                        }
        -                      ]
        -                    }
        -                  },
        -                  "required": [
        -                    "assets",
        -                    "liabilities",
        -                    "net"
        -                  ],
        -                  "type": "object"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "property_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "series": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "date": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "provenance": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "provenance",
        -                      "value"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "account_count",
        -                "asset_accounts",
        -                "assets",
        -                "liability_accounts",
        -                "liabilities",
        -                "net",
        -                "period_change",
        -                "series"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "const": "cash-flow",
        -                  "type": "string"
        -                },
        -                "income": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "net": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "periods": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "end": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "income": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "label": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "net": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "spending": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "start": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "end",
        -                      "label",
        -                      "start",
        -                      "income",
        -                      "net",
        -                      "spending"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "spending": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "transaction_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "income",
        -                "net",
        -                "periods",
        -                "spending",
        -                "transaction_count"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "const": "recent-transactions",
        -                  "type": "string"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "amount": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "type": "string"
        -                      },
        -                      "date": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "description": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "direction": {
        -                        "enum": [
        -                          "inflow",
        -                          "neutral",
        -                          "outflow"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "pending": {
        -                        "type": "boolean"
        -                      }
        -                    },
        -                    "required": [
        -                      "amount",
        -                      "date",
        -                      "description",
        -                      "direction",
        -                      "id",
        -                      "pending"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "rows"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "holding_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "id": {
        -                  "const": "holdings",
        -                  "type": "string"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "as_of": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "cost_basis": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "day_change_percent": {
        -                        "anyOf": [
        -                          {
        -                            "type": "number"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "gain_loss": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "quantity": {
        -                        "type": "string"
        -                      },
        -                      "sparkline": {
        -                        "items": {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "date": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            },
        -                            "value": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "date",
        -                            "value"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "symbol": {
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "weight": {
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "as_of",
        -                      "id",
        -                      "name"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "total_value": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "rows",
        -                "holding_count",
        -                "total_value"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "account_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "accounts": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "as_of": {
        -                        "anyOf": [
        -                          {
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "balance": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "basis": {
        -                        "enum": [
        -                          "positions",
        -                          "source_observed"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "institution": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "mask": {
        -                        "type": "string"
        -                      },
        -                      "name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "period_change": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": false,
        -                            "properties": {
        -                              "amount": {
        -                                "maxLength": 32,
        -                                "type": "string"
        -                              },
        -                              "percent": {
        -                                "anyOf": [
        -                                  {
        -                                    "type": "number"
        -                                  },
        -                                  {
        -                                    "type": "null"
        -                                  }
        -                                ]
        -                              },
        -                              "since": {
        -                                "format": "date",
        -                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                                "type": "string"
        -                              }
        -                            },
        -                            "required": [
        -                              "amount",
        -                              "percent",
        -                              "since"
        -                            ],
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "reported_balance": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "as_of",
        -                      "basis",
        -                      "id",
        -                      "name",
        -                      "period_change"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "allocation": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "holding_count": {
        -                        "maximum": 9007199254740991,
        -                        "minimum": 0,
        -                        "type": "integer"
        -                      },
        -                      "type": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "weight": {
        -                        "type": "number"
        -                      }
        -                    },
        -                    "required": [
        -                      "holding_count",
        -                      "type",
        -                      "value",
        -                      "weight"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "allocation_basis": {
        -                  "enum": [
        -                    "net",
        -                    "gross"
        -                  ],
        -                  "type": "string"
        -                },
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "day_change": {
        -                  "anyOf": [
        -                    {
        -                      "additionalProperties": false,
        -                      "properties": {
        -                        "amount": {
        -                          "maxLength": 32,
        -                          "type": "string"
        -                        },
        -                        "holding_count": {
        -                          "exclusiveMinimum": 0,
        -                          "maximum": 9007199254740991,
        -                          "type": "integer"
        -                        },
        -                        "percent": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ]
        -                        }
        -                      },
        -                      "required": [
        -                        "amount",
        -                        "holding_count",
        -                        "percent"
        -                      ],
        -                      "type": "object"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "const": "investments",
        -                  "type": "string"
        -                },
        -                "latest_price_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "market_valued_account_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "movers": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "account_count": {
        -                        "exclusiveMinimum": 0,
        -                        "maximum": 9007199254740991,
        -                        "type": "integer"
        -                      },
        -                      "day_change_amount": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "day_change_percent": {
        -                        "type": "number"
        -                      },
        -                      "holding_ids": {
        -                        "items": {
        -                          "minLength": 1,
        -                          "type": "string"
        -                        },
        -                        "minItems": 1,
        -                        "type": "array"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "session": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "closes_at": {
        -                            "type": "string"
        -                          },
        -                          "market_date": {
        -                            "format": "date",
        -                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                            "type": "string"
        -                          },
        -                          "opens_at": {
        -                            "type": "string"
        -                          },
        -                          "points": {
        -                            "items": {
        -                              "additionalProperties": false,
        -                              "properties": {
        -                                "at": {
        -                                  "type": "string"
        -                                },
        -                                "price": {
        -                                  "type": "string"
        -                                }
        -                              },
        -                              "required": [
        -                                "at",
        -                                "price"
        -                              ],
        -                              "type": "object"
        -                            },
        -                            "minItems": 1,
        -                            "type": "array"
        -                          },
        -                          "previous_close": {
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "closes_at",
        -                          "market_date",
        -                          "opens_at",
        -                          "points",
        -                          "previous_close"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "sparkline": {
        -                        "items": {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "date": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            },
        -                            "value": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "date",
        -                            "value"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "symbol": {
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "account_count",
        -                      "day_change_percent",
        -                      "holding_ids",
        -                      "id",
        -                      "name",
        -                      "value"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "period_change": {
        -                  "anyOf": [
        -                    {
        -                      "additionalProperties": false,
        -                      "properties": {
        -                        "amount": {
        -                          "maxLength": 32,
        -                          "type": "string"
        -                        },
        -                        "percent": {
        -                          "anyOf": [
        -                            {
        -                              "type": "number"
        -                            },
        -                            {
        -                              "type": "null"
        -                            }
        -                          ]
        -                        },
        -                        "since": {
        -                          "format": "date",
        -                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                          "type": "string"
        -                        }
        -                      },
        -                      "required": [
        -                        "amount",
        -                        "percent",
        -                        "since"
        -                      ],
        -                      "type": "object"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "price_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "series": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "date": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "provenance": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "provenance",
        -                      "value"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "stale_quote_holding_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "total_value": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "account_count",
        -                "accounts",
        -                "allocation_basis",
        -                "allocation",
        -                "day_change",
        -                "market_valued_account_count",
        -                "movers",
        -                "period_change",
        -                "latest_price_as_of",
        -                "price_as_of",
        -                "stale_quote_holding_count",
        -                "series",
        -                "total_value"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "const": "spending",
        -                  "type": "string"
        -                },
        -                "periods": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "categories": {
        -                        "items": {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "amount": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            },
        -                            "category": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "amount",
        -                            "category"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "end": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "label": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "start": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "total": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "end",
        -                      "label",
        -                      "start",
        -                      "categories",
        -                      "total"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "amount": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "transaction_count": {
        -                        "maximum": 9007199254740991,
        -                        "minimum": 0,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "amount",
        -                      "category",
        -                      "transaction_count"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "total": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "transaction_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "rows",
        -                "periods",
        -                "total",
        -                "transaction_count"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "actual": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "configured": {
        -                  "type": "boolean"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "days_elapsed": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "days_in_period": {
        -                  "exclusiveMinimum": 0,
        -                  "maximum": 9007199254740991,
        -                  "type": "integer"
        -                },
        -                "expected_to_date": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "group_totals": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "actual": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "line_type": {
        -                        "enum": [
        -                          "recurring",
        -                          "flexible",
        -                          "goal",
        -                          "cushion",
        -                          "other"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "planned": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "remaining": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "actual",
        -                      "line_type",
        -                      "planned",
        -                      "remaining"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "id": {
        -                  "const": "budget-status",
        -                  "type": "string"
        -                },
        -                "pace_variance": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "period": {
        -                  "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        -                  "type": "string"
        -                },
        -                "planned": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "remaining": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "row_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "actual": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "line_type": {
        -                        "enum": [
        -                          "recurring",
        -                          "flexible",
        -                          "goal",
        -                          "cushion",
        -                          "other"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "planned": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "remaining": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "status": {
        -                        "enum": [
        -                          "not_started",
        -                          "over_budget",
        -                          "within_budget"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "transaction_count": {
        -                        "maximum": 9007199254740991,
        -                        "minimum": 0,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "actual",
        -                      "category",
        -                      "line_type",
        -                      "planned",
        -                      "remaining",
        -                      "status",
        -                      "transaction_count"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "safe_to_spend": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "series": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "date": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "value": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "date",
        -                      "value"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "unplanned_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "unplanned_rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "actual": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "transaction_count": {
        -                        "maximum": 9007199254740991,
        -                        "minimum": 0,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "actual",
        -                      "category",
        -                      "transaction_count"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "unplanned_total": {
        -                  "maxLength": 32,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "actual",
        -                "configured",
        -                "days_elapsed",
        -                "days_in_period",
        -                "expected_to_date",
        -                "group_totals",
        -                "pace_variance",
        -                "period",
        -                "planned",
        -                "remaining",
        -                "row_count",
        -                "rows",
        -                "safe_to_spend",
        -                "series",
        -                "unplanned_count",
        -                "unplanned_rows",
        -                "unplanned_total"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "id": {
        -                  "const": "goals",
        -                  "type": "string"
        -                },
        -                "period": {
        -                  "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        -                  "type": "string"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "contribution_amount": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "contribution_cadence": {
        -                        "enum": [
        -                          "weekly",
        -                          "biweekly",
        -                          "monthly",
        -                          "quarterly",
        -                          "annual"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "days_elapsed": {
        -                        "maximum": 9007199254740991,
        -                        "minimum": 0,
        -                        "type": "integer"
        -                      },
        -                      "days_remaining": {
        -                        "maximum": 9007199254740991,
        -                        "minimum": 0,
        -                        "type": "integer"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "kind": {
        -                        "enum": [
        -                          "debt_reduction",
        -                          "income",
        -                          "other",
        -                          "purchase",
        -                          "reserve",
        -                          "sinking_fund"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "observed": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "observed_this_period": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "projected_completion_date": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "remaining": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "required_contribution": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "amount": {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          "cadence": {
        -                            "enum": [
        -                              "weekly",
        -                              "biweekly",
        -                              "monthly",
        -                              "quarterly",
        -                              "annual"
        -                            ],
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "amount",
        -                          "cadence"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "series": {
        -                        "items": {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "date": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            },
        -                            "value": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "date",
        -                            "value"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "series_partial": {
        -                        "type": "boolean"
        -                      },
        -                      "started_on": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      },
        -                      "status": {
        -                        "enum": [
        -                          "active",
        -                          "archived",
        -                          "completed",
        -                          "paused"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "target": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "target_date": {
        -                        "format": "date",
        -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "days_elapsed",
        -                      "id",
        -                      "kind",
        -                      "name",
        -                      "series",
        -                      "series_partial",
        -                      "started_on",
        -                      "status"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "period",
        -                "rows"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "candidates_count": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                },
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "has_recurring_items": {
        -                  "type": "boolean"
        -                },
        -                "horizon_days": {
        -                  "exclusiveMinimum": 0,
        -                  "maximum": 9007199254740991,
        -                  "type": "integer"
        -                },
        -                "id": {
        -                  "const": "coming-up",
        -                  "type": "string"
        -                },
        -                "month": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "left_to_pay": {
        -                      "additionalProperties": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "propertyNames": {
        -                        "type": "string"
        -                      },
        -                      "type": "object"
        -                    },
        -                    "paid_so_far": {
        -                      "additionalProperties": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "propertyNames": {
        -                        "type": "string"
        -                      },
        -                      "type": "object"
        -                    },
        -                    "payments": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "account_label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "amount": {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          "cadence": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "category": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "date": {
        -                            "format": "date",
        -                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                            "type": "string"
        -                          },
        -                          "id": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "merchant_name": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "recurring_item_id": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "status": {
        -                            "enum": [
        -                              "paid",
        -                              "expected"
        -                            ],
        -                            "type": "string"
        -                          },
        -                          "transaction_id": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "id",
        -                          "recurring_item_id",
        -                          "merchant_name",
        -                          "cadence",
        -                          "date",
        -                          "amount",
        -                          "status"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "period": {
        -                      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "period",
        -                    "left_to_pay",
        -                    "paid_so_far"
        -                  ],
        -                  "type": "object"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "account_identity_id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "account_label": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "amount_estimate": {
        -                        "maxLength": 32,
        -                        "type": "string"
        -                      },
        -                      "cadence": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "category": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "confirmation_note": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "confirmed": {
        -                        "type": "boolean"
        -                      },
        -                      "direction": {
        -                        "enum": [
        -                          "inflow",
        -                          "outflow",
        -                          "neutral"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "ends_at": {
        -                        "anyOf": [
        -                          {
        -                            "format": "date",
        -                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "group": {
        -                        "enum": [
        -                          "overdue",
        -                          "upcoming",
        -                          "later",
        -                          "candidate",
        -                          "archived"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "last_amount": {
        -                        "anyOf": [
        -                          {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "merchant_name": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "missed_count": {
        -                        "anyOf": [
        -                          {
        -                            "maximum": 9007199254740991,
        -                            "minimum": 0,
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "predicted_next_date": {
        -                        "anyOf": [
        -                          {
        -                            "format": "date",
        -                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                            "type": "string"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "predicted_window": {
        -                        "anyOf": [
        -                          {
        -                            "additionalProperties": false,
        -                            "properties": {
        -                              "from": {
        -                                "format": "date",
        -                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                                "type": "string"
        -                              },
        -                              "to": {
        -                                "format": "date",
        -                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                                "type": "string"
        -                              }
        -                            },
        -                            "required": [
        -                              "from",
        -                              "to"
        -                            ],
        -                            "type": "object"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "remaining_occurrences": {
        -                        "anyOf": [
        -                          {
        -                            "maximum": 9007199254740991,
        -                            "minimum": 0,
        -                            "type": "integer"
        -                          },
        -                          {
        -                            "type": "null"
        -                          }
        -                        ]
        -                      },
        -                      "source": {
        -                        "enum": [
        -                          "detected",
        -                          "declared"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "status": {
        -                        "enum": [
        -                          "candidate",
        -                          "active",
        -                          "stopped",
        -                          "dismissed"
        -                        ],
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "account_identity_id",
        -                      "amount_estimate",
        -                      "cadence",
        -                      "confirmed",
        -                      "direction",
        -                      "ends_at",
        -                      "group",
        -                      "id",
        -                      "last_amount",
        -                      "merchant_name",
        -                      "missed_count",
        -                      "predicted_next_date",
        -                      "predicted_window",
        -                      "remaining_occurrences",
        -                      "source",
        -                      "status"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "timeline": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "inflow": {
        -                        "additionalProperties": {
        -                          "maxLength": 32,
        -                          "type": "string"
        -                        },
        -                        "propertyNames": {
        -                          "type": "string"
        -                        },
        -                        "type": "object"
        -                      },
        -                      "month": {
        -                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        -                        "type": "string"
        -                      },
        -                      "occurrences": {
        -                        "items": {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "amount": {
        -                              "maxLength": 32,
        -                              "type": "string"
        -                            },
        -                            "date": {
        -                              "format": "date",
        -                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                              "type": "string"
        -                            },
        -                            "direction": {
        -                              "enum": [
        -                                "inflow",
        -                                "outflow",
        -                                "neutral"
        -                              ],
        -                              "type": "string"
        -                            },
        -                            "merchant_name": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            },
        -                            "recurring_item_id": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "amount",
        -                            "date",
        -                            "direction",
        -                            "merchant_name",
        -                            "recurring_item_id"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "outflow": {
        -                        "additionalProperties": {
        -                          "maxLength": 32,
        -                          "type": "string"
        -                        },
        -                        "propertyNames": {
        -                          "type": "string"
        -                        },
        -                        "type": "object"
        -                      }
        -                    },
        -                    "required": [
        -                      "inflow",
        -                      "month",
        -                      "occurrences",
        -                      "outflow"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "totals": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "annual": {
        -                      "additionalProperties": false,
        -                      "properties": {
        -                        "inflow": {
        -                          "additionalProperties": {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          "propertyNames": {
        -                            "type": "string"
        -                          },
        -                          "type": "object"
        -                        },
        -                        "outflow": {
        -                          "additionalProperties": {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          "propertyNames": {
        -                            "type": "string"
        -                          },
        -                          "type": "object"
        -                        }
        -                      },
        -                      "required": [
        -                        "inflow",
        -                        "outflow"
        -                      ],
        -                      "type": "object"
        -                    },
        -                    "counted": {
        -                      "maximum": 9007199254740991,
        -                      "minimum": 0,
        -                      "type": "integer"
        -                    },
        -                    "excluded": {
        -                      "additionalProperties": false,
        -                      "properties": {
        -                        "candidate": {
        -                          "maximum": 9007199254740991,
        -                          "minimum": 0,
        -                          "type": "integer"
        -                        },
        -                        "ended": {
        -                          "maximum": 9007199254740991,
        -                          "minimum": 0,
        -                          "type": "integer"
        -                        },
        -                        "inactive": {
        -                          "maximum": 9007199254740991,
        -                          "minimum": 0,
        -                          "type": "integer"
        -                        },
        -                        "no_cadence": {
        -                          "maximum": 9007199254740991,
        -                          "minimum": 0,
        -                          "type": "integer"
        -                        }
        -                      },
        -                      "required": [
        -                        "candidate",
        -                        "ended",
        -                        "inactive",
        -                        "no_cadence"
        -                      ],
        -                      "type": "object"
        -                    },
        -                    "monthly_equivalent": {
        -                      "additionalProperties": false,
        -                      "properties": {
        -                        "inflow": {
        -                          "additionalProperties": {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          "propertyNames": {
        -                            "type": "string"
        -                          },
        -                          "type": "object"
        -                        },
        -                        "outflow": {
        -                          "additionalProperties": {
        -                            "maxLength": 32,
        -                            "type": "string"
        -                          },
        -                          "propertyNames": {
        -                            "type": "string"
        -                          },
        -                          "type": "object"
        -                        }
        -                      },
        -                      "required": [
        -                        "inflow",
        -                        "outflow"
        -                      ],
        -                      "type": "object"
        -                    }
        -                  },
        -                  "required": [
        -                    "annual",
        -                    "counted",
        -                    "excluded",
        -                    "monthly_equivalent"
        -                  ],
        -                  "type": "object"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v1",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "id",
        -                "candidates_count",
        -                "horizon_days",
        -                "month",
        -                "rows",
        -                "timeline",
        -                "totals"
        -              ],
        -              "type": "object"
        -            },
        -            {
        -              "additionalProperties": false,
        -              "properties": {
        -                "caveats": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": "array"
        -                },
        -                "context": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "summary": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "talking_points": {
        -                      "items": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "type": "array"
        -                    },
        -                    "visible_facts": {
        -                      "items": {
        -                        "additionalProperties": false,
        -                        "properties": {
        -                          "label": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          },
        -                          "value": {
        -                            "minLength": 1,
        -                            "type": "string"
        -                          }
        -                        },
        -                        "required": [
        -                          "label",
        -                          "value"
        -                        ],
        -                        "type": "object"
        -                      },
        -                      "type": "array"
        -                    }
        -                  },
        -                  "required": [
        -                    "summary",
        -                    "talking_points",
        -                    "visible_facts"
        -                  ],
        -                  "type": "object"
        -                },
        -                "data_as_of": {
        -                  "anyOf": [
        -                    {
        -                      "type": "string"
        -                    },
        -                    {
        -                      "type": "null"
        -                    }
        -                  ]
        -                },
        -                "generated_at": {
        -                  "type": "string"
        -                },
        -                "has_earlier": {
        -                  "type": "boolean"
        -                },
        -                "id": {
        -                  "const": "agent-activity",
        -                  "type": "string"
        -                },
        -                "presentation": {
        -                  "enum": [
        -                    "summary",
        -                    "detail"
        -                  ],
        -                  "type": "string"
        -                },
        -                "range": {
        -                  "additionalProperties": false,
        -                  "properties": {
        -                    "from": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    },
        -                    "label": {
        -                      "minLength": 1,
        -                      "type": "string"
        -                    },
        -                    "preset": {
        -                      "enum": [
        -                        "1w",
        -                        "1m",
        -                        "3m",
        -                        "ytd",
        -                        "1y"
        -                      ],
        -                      "type": "string"
        -                    },
        -                    "to": {
        -                      "format": "date",
        -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "from",
        -                    "label",
        -                    "to"
        -                  ],
        -                  "type": "object"
        -                },
        -                "rows": {
        -                  "items": {
        -                    "additionalProperties": false,
        -                    "properties": {
        -                      "changed_domains": {
        -                        "items": {
        -                          "type": "string"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "created_at": {
        -                        "type": "string"
        -                      },
        -                      "data_domains": {
        -                        "items": {
        -                          "type": "string"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "id": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "last_activity_at": {
        -                        "type": "string"
        -                      },
        -                      "operation": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "operations": {
        -                        "items": {
        -                          "additionalProperties": false,
        -                          "properties": {
        -                            "agent": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            },
        -                            "changed_domains": {
        -                              "items": {
        -                                "type": "string"
        -                              },
        -                              "type": "array"
        -                            },
        -                            "created_at": {
        -                              "type": "string"
        -                            },
        -                            "data_domains": {
        -                              "items": {
        -                                "type": "string"
        -                              },
        -                              "type": "array"
        -                            },
        -                            "id": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            },
        -                            "operation": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            },
        -                            "outcome": {
        -                              "minLength": 1,
        -                              "type": "string"
        -                            },
        -                            "status": {
        -                              "enum": [
        -                                "failed",
        -                                "refused",
        -                                "started",
        -                                "succeeded"
        -                              ],
        -                              "type": "string"
        -                            }
        -                          },
        -                          "required": [
        -                            "id",
        -                            "agent",
        -                            "changed_domains",
        -                            "created_at",
        -                            "data_domains",
        -                            "operation",
        -                            "status"
        -                          ],
        -                          "type": "object"
        -                        },
        -                        "type": "array"
        -                      },
        -                      "operations_truncated": {
        -                        "type": "boolean"
        -                      },
        -                      "outcome": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "reason": {
        -                        "minLength": 1,
        -                        "type": "string"
        -                      },
        -                      "state": {
        -                        "enum": [
        -                          "changed",
        -                          "incomplete",
        -                          "in_progress",
        -                          "problem",
        -                          "read_only"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "status": {
        -                        "enum": [
        -                          "failed",
        -                          "refused",
        -                          "started",
        -                          "succeeded"
        -                        ],
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "changed_domains",
        -                      "created_at",
        -                      "data_domains",
        -                      "last_activity_at",
        -                      "operation",
        -                      "operations",
        -                      "operations_truncated",
        -                      "reason",
        -                      "state",
        -                      "status"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "title": {
        -                  "minLength": 1,
        -                  "type": "string"
        -                },
        -                "version": {
        -                  "const": "dashboard_panel.v2",
        -                  "type": "string"
        -                },
        -                "view_url": {
        -                  "format": "uri",
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "caveats",
        -                "context",
        -                "data_as_of",
        -                "generated_at",
        -                "presentation",
        -                "range",
        -                "title",
        -                "version",
        -                "view_url",
        -                "has_earlier",
        -                "id",
        -                "rows"
        -              ],
        -              "type": "object"
        -            }
        -          ]
        -        },
        -        "maxItems": 5,
        -        "minItems": 1,
        -        "type": "array"
        -      },
        -      "version": {
        -        "const": "dashboard_visual.v2",
        -        "type": "string"
        -      },
        -      "view_url": {
        -        "format": "uri",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "panels",
        -      "version",
        -      "view_url"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "action": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "completed_at": {
        -            "type": "string"
        -          },
        -          "created_at": {
        -            "type": "string"
        -          },
        -          "id": {
        -            "minLength": 1,
        -            "type": "string"
        -          },
        -          "operation": {
        -            "minLength": 1,
        -            "type": "string"
        -          },
        -          "parent_action_id": {
        -            "minLength": 1,
        -            "type": "string"
        -          },
        -          "reason": {
        -            "maxLength": 280,
        -            "minLength": 1,
        -            "type": "string"
        -          },
        -          "root_action_id": {
        -            "minLength": 1,
        -            "type": "string"
        -          },
        -          "status": {
        -            "enum": [
        -              "started",
        -              "succeeded",
        -              "refused",
        -              "failed"
        -            ],
        -            "type": "string"
        -          },
        -          "task_key": {
        -            "maxLength": 128,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "created_at",
        -          "id",
        -          "operation",
        -          "reason",
        -          "root_action_id",
        -          "status"
        -        ],
        -        "type": "object"
        -      },
        -      "data": {},
        -      "data_freshness": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "balances_last_synced_at": {
        -            "type": "string"
        -          },
        -          "coverage": {
        -            "enum": [
        -              "complete",
        -              "partial",
        -              "stale",
        -              "unavailable"
        -            ],
        -            "type": "string"
        -          },
        -          "holdings_last_synced_at": {
        -            "type": "string"
        -          },
        -          "transactions_last_synced_at": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "coverage"
        -        ],
        -        "type": "object"
        -      },
        -      "errors": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "code": {
        -              "type": "string"
        -            },
        -            "expires_at": {
        -              "type": "string"
        -            },
        -            "idempotency_key": {
        -              "maxLength": 128,
        -              "minLength": 16,
        -              "pattern": "^[\\x20-\\x7e]+$",
        -              "type": "string"
        -            },
        -            "message": {
        -              "type": "string"
        -            },
        -            "recovery_url": {
        -              "type": "string"
        -            },
        -            "required_capability": {
        -              "type": "string"
        -            },
        -            "retry_after_seconds": {
        -              "exclusiveMinimum": 0,
        -              "maximum": 9007199254740991,
        -              "type": "integer"
        -            },
        -            "retryable": {
        -              "type": "boolean"
        -            },
        -            "suggested_command": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "code",
        -            "message",
        -            "retryable"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "generated_at": {
        -        "type": "string"
        -      },
        -      "metadata": {
        -        "additionalProperties": {},
        -        "properties": {
        -          "view_url": {
        -            "format": "uri",
        -            "type": "string"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "next_actions": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "args": {
        -              "additionalProperties": {
        -                "$ref": "#/$defs/__schema0"
        -              },
        -              "propertyNames": {
        -                "type": "string"
        -              },
        -              "type": "object"
        -            },
        -            "command": {
        -              "type": "string"
        -            },
        -            "intent": {
        -              "type": "string"
        -            },
        -            "shell": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "args",
        -            "command",
        -            "intent",
        -            "shell"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "request_id": {
        -        "type": "string"
        -      },
        -      "schema_version": {
        -        "type": "string"
        -      },
        -      "status": {
        -        "enum": [
        -          "success",
        -          "partial_success",
        -          "action_required",
        -          "error"
        -        ],
        -        "type": "string"
        -      },
        -      "user_message": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "warnings": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "code": {
        -              "type": "string"
        -            },
        -            "message": {
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "code",
        -            "message"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "data",
        -      "errors",
        -      "generated_at",
        -      "next_actions",
        -      "request_id",
        -      "schema_version",
        -      "status",
        -      "warnings"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "panels": {
        +        "items": {
        +          "oneOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "account_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "asset_accounts": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "institution": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "mask": {
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "category",
        +                      "id",
        +                      "name"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "assets": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "net-position",
        +                  "type": "string"
        +                },
        +                "liabilities": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "liability_accounts": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "institution": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "mask": {
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "category",
        +                      "id",
        +                      "name"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "net": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "period_change": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "assets": {
        +                      "anyOf": [
        +                        {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "percent": {
        +                              "anyOf": [
        +                                {
        +                                  "type": "number"
        +                                },
        +                                {
        +                                  "type": "null"
        +                                }
        +                              ]
        +                            },
        +                            "since": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "percent",
        +                            "since"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        {
        +                          "type": "null"
        +                        }
        +                      ]
        +                    },
        +                    "liabilities": {
        +                      "anyOf": [
        +                        {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "percent": {
        +                              "anyOf": [
        +                                {
        +                                  "type": "number"
        +                                },
        +                                {
        +                                  "type": "null"
        +                                }
        +                              ]
        +                            },
        +                            "since": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "percent",
        +                            "since"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        {
        +                          "type": "null"
        +                        }
        +                      ]
        +                    },
        +                    "net": {
        +                      "anyOf": [
        +                        {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "percent": {
        +                              "anyOf": [
        +                                {
        +                                  "type": "number"
        +                                },
        +                                {
        +                                  "type": "null"
        +                                }
        +                              ]
        +                            },
        +                            "since": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "percent",
        +                            "since"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        {
        +                          "type": "null"
        +                        }
        +                      ]
        +                    }
        +                  },
        +                  "required": [
        +                    "assets",
        +                    "liabilities",
        +                    "net"
        +                  ],
        +                  "type": "object"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "property_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "series": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "provenance": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "date",
        +                      "provenance",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "account_count",
        +                "asset_accounts",
        +                "assets",
        +                "liability_accounts",
        +                "liabilities",
        +                "net",
        +                "period_change",
        +                "series"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "cash-flow",
        +                  "type": "string"
        +                },
        +                "income": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "net": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "periods": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "end": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "income": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "label": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "net": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "spending": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "start": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "end",
        +                      "label",
        +                      "start",
        +                      "income",
        +                      "net",
        +                      "spending"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "spending": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "transaction_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "income",
        +                "net",
        +                "periods",
        +                "spending",
        +                "transaction_count"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "recent-transactions",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "type": "string"
        +                      },
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "description": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "direction": {
        +                        "enum": [
        +                          "inflow",
        +                          "neutral",
        +                          "outflow"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "pending": {
        +                        "type": "boolean"
        +                      }
        +                    },
        +                    "required": [
        +                      "amount",
        +                      "date",
        +                      "description",
        +                      "direction",
        +                      "id",
        +                      "pending"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "rows"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "holding_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "id": {
        +                  "const": "holdings",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "cost_basis": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "day_change_percent": {
        +                        "anyOf": [
        +                          {
        +                            "type": "number"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "gain_loss": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "quantity": {
        +                        "type": "string"
        +                      },
        +                      "sparkline": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "value": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "date",
        +                            "value"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "symbol": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "weight": {
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "id",
        +                      "name"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "total_value": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "rows",
        +                "holding_count",
        +                "total_value"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "account_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "accounts": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "basis": {
        +                        "enum": [
        +                          "positions",
        +                          "source_observed"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "institution": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "mask": {
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "period_change": {
        +                        "anyOf": [
        +                          {
        +                            "additionalProperties": false,
        +                            "properties": {
        +                              "amount": {
        +                                "maxLength": 32,
        +                                "type": "string"
        +                              },
        +                              "percent": {
        +                                "anyOf": [
        +                                  {
        +                                    "type": "number"
        +                                  },
        +                                  {
        +                                    "type": "null"
        +                                  }
        +                                ]
        +                              },
        +                              "since": {
        +                                "format": "date",
        +                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                                "type": "string"
        +                              }
        +                            },
        +                            "required": [
        +                              "amount",
        +                              "percent",
        +                              "since"
        +                            ],
        +                            "type": "object"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "reported_balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "basis",
        +                      "id",
        +                      "name",
        +                      "period_change"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "allocation": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "holding_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "type": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "weight": {
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "holding_count",
        +                      "type",
        +                      "value",
        +                      "weight"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "allocation_basis": {
        +                  "enum": [
        +                    "net",
        +                    "gross"
        +                  ],
        +                  "type": "string"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "day_change": {
        +                  "anyOf": [
        +                    {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "amount": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "holding_count": {
        +                          "exclusiveMinimum": 0,
        +                          "maximum": 9007199254740991,
        +                          "type": "integer"
        +                        },
        +                        "percent": {
        +                          "anyOf": [
        +                            {
        +                              "type": "number"
        +                            },
        +                            {
        +                              "type": "null"
        +                            }
        +                          ]
        +                        }
        +                      },
        +                      "required": [
        +                        "amount",
        +                        "holding_count",
        +                        "percent"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "investments",
        +                  "type": "string"
        +                },
        +                "latest_price_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "market_valued_account_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "movers": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "account_count": {
        +                        "exclusiveMinimum": 0,
        +                        "maximum": 9007199254740991,
        +                        "type": "integer"
        +                      },
        +                      "day_change_amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "day_change_percent": {
        +                        "type": "number"
        +                      },
        +                      "holding_ids": {
        +                        "items": {
        +                          "minLength": 1,
        +                          "type": "string"
        +                        },
        +                        "minItems": 1,
        +                        "type": "array"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "session": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "closes_at": {
        +                            "type": "string"
        +                          },
        +                          "market_date": {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          "opens_at": {
        +                            "type": "string"
        +                          },
        +                          "points": {
        +                            "items": {
        +                              "additionalProperties": false,
        +                              "properties": {
        +                                "at": {
        +                                  "type": "string"
        +                                },
        +                                "price": {
        +                                  "type": "string"
        +                                }
        +                              },
        +                              "required": [
        +                                "at",
        +                                "price"
        +                              ],
        +                              "type": "object"
        +                            },
        +                            "minItems": 1,
        +                            "type": "array"
        +                          },
        +                          "previous_close": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "closes_at",
        +                          "market_date",
        +                          "opens_at",
        +                          "points",
        +                          "previous_close"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "sparkline": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "value": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "date",
        +                            "value"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "symbol": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "account_count",
        +                      "day_change_percent",
        +                      "holding_ids",
        +                      "id",
        +                      "name",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "period_change": {
        +                  "anyOf": [
        +                    {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "amount": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "percent": {
        +                          "anyOf": [
        +                            {
        +                              "type": "number"
        +                            },
        +                            {
        +                              "type": "null"
        +                            }
        +                          ]
        +                        },
        +                        "since": {
        +                          "format": "date",
        +                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "amount",
        +                        "percent",
        +                        "since"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "price_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "series": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "provenance": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "date",
        +                      "provenance",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "stale_quote_holding_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "total_value": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "account_count",
        +                "accounts",
        +                "allocation_basis",
        +                "allocation",
        +                "day_change",
        +                "market_valued_account_count",
        +                "movers",
        +                "period_change",
        +                "latest_price_as_of",
        +                "price_as_of",
        +                "stale_quote_holding_count",
        +                "series",
        +                "total_value"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "spending",
        +                  "type": "string"
        +                },
        +                "periods": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "categories": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "category": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "category"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "end": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "label": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "start": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "total": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "end",
        +                      "label",
        +                      "start",
        +                      "categories",
        +                      "total"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "transaction_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "amount",
        +                      "category",
        +                      "transaction_count"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "total": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "transaction_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "rows",
        +                "periods",
        +                "total",
        +                "transaction_count"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "actual": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "configured": {
        +                  "type": "boolean"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "days_elapsed": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "days_in_period": {
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "expected_to_date": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "group_totals": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "actual": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "line_type": {
        +                        "enum": [
        +                          "recurring",
        +                          "flexible",
        +                          "goal",
        +                          "cushion",
        +                          "other"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "planned": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "remaining": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "actual",
        +                      "line_type",
        +                      "planned",
        +                      "remaining"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "id": {
        +                  "const": "budget-status",
        +                  "type": "string"
        +                },
        +                "pace_variance": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "period": {
        +                  "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                  "type": "string"
        +                },
        +                "planned": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "remaining": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "row_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "actual": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "line_type": {
        +                        "enum": [
        +                          "recurring",
        +                          "flexible",
        +                          "goal",
        +                          "cushion",
        +                          "other"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "planned": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "remaining": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "not_started",
        +                          "over_budget",
        +                          "within_budget"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "transaction_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "actual",
        +                      "category",
        +                      "line_type",
        +                      "planned",
        +                      "remaining",
        +                      "status",
        +                      "transaction_count"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "series": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "date",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "unplanned_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "unplanned_rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "actual": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "transaction_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "actual",
        +                      "category",
        +                      "transaction_count"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "unplanned_total": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "unspent_flexible_and_cushion_amount": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "actual",
        +                "configured",
        +                "days_elapsed",
        +                "days_in_period",
        +                "expected_to_date",
        +                "group_totals",
        +                "pace_variance",
        +                "period",
        +                "planned",
        +                "remaining",
        +                "row_count",
        +                "rows",
        +                "unspent_flexible_and_cushion_amount",
        +                "series",
        +                "unplanned_count",
        +                "unplanned_rows",
        +                "unplanned_total"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "goals",
        +                  "type": "string"
        +                },
        +                "period": {
        +                  "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "contribution_amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "contribution_cadence": {
        +                        "enum": [
        +                          "weekly",
        +                          "biweekly",
        +                          "monthly",
        +                          "quarterly",
        +                          "annual"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "days_elapsed": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "days_remaining": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "enum": [
        +                          "debt_reduction",
        +                          "income",
        +                          "other",
        +                          "purchase",
        +                          "reserve",
        +                          "sinking_fund"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "observed": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "observed_this_period": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "projected_completion_date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "remaining": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "required_contribution": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "amount": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "cadence": {
        +                            "enum": [
        +                              "weekly",
        +                              "biweekly",
        +                              "monthly",
        +                              "quarterly",
        +                              "annual"
        +                            ],
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "amount",
        +                          "cadence"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "series": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "value": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "date",
        +                            "value"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "series_partial": {
        +                        "type": "boolean"
        +                      },
        +                      "started_on": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "active",
        +                          "archived",
        +                          "completed",
        +                          "paused"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "target": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "target_date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "days_elapsed",
        +                      "id",
        +                      "kind",
        +                      "name",
        +                      "series",
        +                      "series_partial",
        +                      "started_on",
        +                      "status"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "period",
        +                "rows"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "candidates_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "has_recurring_items": {
        +                  "type": "boolean"
        +                },
        +                "horizon_days": {
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "id": {
        +                  "const": "coming-up",
        +                  "type": "string"
        +                },
        +                "month": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "left_to_pay": {
        +                      "additionalProperties": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "propertyNames": {
        +                        "type": "string"
        +                      },
        +                      "type": "object"
        +                    },
        +                    "paid_so_far": {
        +                      "additionalProperties": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "propertyNames": {
        +                        "type": "string"
        +                      },
        +                      "type": "object"
        +                    },
        +                    "payments": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "account_label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "amount": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "cadence": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "category": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "date": {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          "id": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "merchant_name": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "recurring_item_id": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "status": {
        +                            "enum": [
        +                              "paid",
        +                              "expected"
        +                            ],
        +                            "type": "string"
        +                          },
        +                          "transaction_id": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "id",
        +                          "recurring_item_id",
        +                          "merchant_name",
        +                          "cadence",
        +                          "date",
        +                          "amount",
        +                          "status"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "period": {
        +                      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "period",
        +                    "left_to_pay",
        +                    "paid_so_far"
        +                  ],
        +                  "type": "object"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "account_identity_id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "account_label": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "amount_estimate": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "cadence": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "confirmation_note": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "confirmed": {
        +                        "type": "boolean"
        +                      },
        +                      "direction": {
        +                        "enum": [
        +                          "inflow",
        +                          "outflow",
        +                          "neutral"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "ends_at": {
        +                        "anyOf": [
        +                          {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "group": {
        +                        "enum": [
        +                          "overdue",
        +                          "upcoming",
        +                          "later",
        +                          "candidate",
        +                          "archived"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "last_amount": {
        +                        "anyOf": [
        +                          {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "merchant_name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "missed_count": {
        +                        "anyOf": [
        +                          {
        +                            "maximum": 9007199254740991,
        +                            "minimum": 0,
        +                            "type": "integer"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "predicted_next_date": {
        +                        "anyOf": [
        +                          {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "predicted_window": {
        +                        "anyOf": [
        +                          {
        +                            "additionalProperties": false,
        +                            "properties": {
        +                              "from": {
        +                                "format": "date",
        +                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                                "type": "string"
        +                              },
        +                              "to": {
        +                                "format": "date",
        +                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                                "type": "string"
        +                              }
        +                            },
        +                            "required": [
        +                              "from",
        +                              "to"
        +                            ],
        +                            "type": "object"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "remaining_occurrences": {
        +                        "anyOf": [
        +                          {
        +                            "maximum": 9007199254740991,
        +                            "minimum": 0,
        +                            "type": "integer"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "source": {
        +                        "enum": [
        +                          "detected",
        +                          "declared"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "candidate",
        +                          "active",
        +                          "stopped",
        +                          "dismissed"
        +                        ],
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "account_identity_id",
        +                      "amount_estimate",
        +                      "cadence",
        +                      "confirmed",
        +                      "direction",
        +                      "ends_at",
        +                      "group",
        +                      "id",
        +                      "last_amount",
        +                      "merchant_name",
        +                      "missed_count",
        +                      "predicted_next_date",
        +                      "predicted_window",
        +                      "remaining_occurrences",
        +                      "source",
        +                      "status"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "timeline": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "inflow": {
        +                        "additionalProperties": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "propertyNames": {
        +                          "type": "string"
        +                        },
        +                        "type": "object"
        +                      },
        +                      "month": {
        +                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                        "type": "string"
        +                      },
        +                      "occurrences": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "direction": {
        +                              "enum": [
        +                                "inflow",
        +                                "outflow",
        +                                "neutral"
        +                              ],
        +                              "type": "string"
        +                            },
        +                            "merchant_name": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "recurring_item_id": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "date",
        +                            "direction",
        +                            "merchant_name",
        +                            "recurring_item_id"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "outflow": {
        +                        "additionalProperties": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "propertyNames": {
        +                          "type": "string"
        +                        },
        +                        "type": "object"
        +                      }
        +                    },
        +                    "required": [
        +                      "inflow",
        +                      "month",
        +                      "occurrences",
        +                      "outflow"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "totals": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "annual": {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "inflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        },
        +                        "outflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        }
        +                      },
        +                      "required": [
        +                        "inflow",
        +                        "outflow"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "counted": {
        +                      "maximum": 9007199254740991,
        +                      "minimum": 0,
        +                      "type": "integer"
        +                    },
        +                    "excluded": {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "candidate": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        },
        +                        "ended": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        },
        +                        "inactive": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        },
        +                        "no_cadence": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        }
        +                      },
        +                      "required": [
        +                        "candidate",
        +                        "ended",
        +                        "inactive",
        +                        "no_cadence"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "monthly_equivalent": {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "inflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        },
        +                        "outflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        }
        +                      },
        +                      "required": [
        +                        "inflow",
        +                        "outflow"
        +                      ],
        +                      "type": "object"
        +                    }
        +                  },
        +                  "required": [
        +                    "annual",
        +                    "counted",
        +                    "excluded",
        +                    "monthly_equivalent"
        +                  ],
        +                  "type": "object"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "candidates_count",
        +                "horizon_days",
        +                "month",
        +                "rows",
        +                "timeline",
        +                "totals"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "has_earlier": {
        +                  "type": "boolean"
        +                },
        +                "id": {
        +                  "const": "agent-activity",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "changed_domains": {
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "created_at": {
        +                        "type": "string"
        +                      },
        +                      "data_domains": {
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "last_activity_at": {
        +                        "type": "string"
        +                      },
        +                      "operation": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "operations": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "agent": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "changed_domains": {
        +                              "items": {
        +                                "type": "string"
        +                              },
        +                              "type": "array"
        +                            },
        +                            "created_at": {
        +                              "type": "string"
        +                            },
        +                            "data_domains": {
        +                              "items": {
        +                                "type": "string"
        +                              },
        +                              "type": "array"
        +                            },
        +                            "id": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "operation": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "outcome": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "status": {
        +                              "enum": [
        +                                "failed",
        +                                "refused",
        +                                "started",
        +                                "succeeded"
        +                              ],
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "id",
        +                            "agent",
        +                            "changed_domains",
        +                            "created_at",
        +                            "data_domains",
        +                            "operation",
        +                            "status"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "operations_truncated": {
        +                        "type": "boolean"
        +                      },
        +                      "outcome": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "reason": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "state": {
        +                        "enum": [
        +                          "changed",
        +                          "incomplete",
        +                          "in_progress",
        +                          "problem",
        +                          "read_only"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "failed",
        +                          "refused",
        +                          "started",
        +                          "succeeded"
        +                        ],
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "changed_domains",
        +                      "created_at",
        +                      "data_domains",
        +                      "last_activity_at",
        +                      "operation",
        +                      "operations",
        +                      "operations_truncated",
        +                      "reason",
        +                      "state",
        +                      "status"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v2",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "has_earlier",
        +                "id",
        +                "rows"
        +              ],
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "maxItems": 5,
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "version": {
        +        "const": "dashboard_visual.v2",
        +        "type": "string"
        +      },
        +      "view_url": {
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "panels",
        +      "version",
        +      "view_url"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "completed_at": {
        +            "type": "string"
        +          },
        +          "created_at": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "operation": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "parent_action_id": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "reason": {
        +            "maxLength": 280,
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "root_action_id": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "started",
        +              "succeeded",
        +              "refused",
        +              "failed"
        +            ],
        +            "type": "string"
        +          },
        +          "task_key": {
        +            "maxLength": 128,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "created_at",
        +          "id",
        +          "operation",
        +          "reason",
        +          "root_action_id",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "data": {},
        +      "data_freshness": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "balances_last_synced_at": {
        +            "type": "string"
        +          },
        +          "coverage": {
        +            "enum": [
        +              "complete",
        +              "partial",
        +              "stale",
        +              "unavailable"
        +            ],
        +            "type": "string"
        +          },
        +          "holdings_last_synced_at": {
        +            "type": "string"
        +          },
        +          "transactions_last_synced_at": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "coverage"
        +        ],
        +        "type": "object"
        +      },
        +      "errors": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "expires_at": {
        +              "type": "string"
        +            },
        +            "idempotency_key": {
        +              "maxLength": 128,
        +              "minLength": 16,
        +              "pattern": "^[\\x20-\\x7e]+$",
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            },
        +            "recovery_url": {
        +              "type": "string"
        +            },
        +            "required_capability": {
        +              "type": "string"
        +            },
        +            "retry_after_seconds": {
        +              "exclusiveMinimum": 0,
        +              "maximum": 9007199254740991,
        +              "type": "integer"
        +            },
        +            "retryable": {
        +              "type": "boolean"
        +            },
        +            "suggested_command": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "message",
        +            "retryable"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "generated_at": {
        +        "type": "string"
        +      },
        +      "metadata": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "view_url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "next_actions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "args": {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/__schema0"
        +              },
        +              "propertyNames": {
        +                "type": "string"
        +              },
        +              "type": "object"
        +            },
        +            "command": {
        +              "type": "string"
        +            },
        +            "intent": {
        +              "type": "string"
        +            },
        +            "shell": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "args",
        +            "command",
        +            "intent",
        +            "shell"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "request_id": {
        +        "type": "string"
        +      },
        +      "schema_version": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "enum": [
        +          "success",
        +          "partial_success",
        +          "action_required",
        +          "error"
        +        ],
        +        "type": "string"
        +      },
        +      "user_message": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "warnings": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "message"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "data",
        +      "errors",
        +      "generated_at",
        +      "next_actions",
        +      "request_id",
        +      "schema_version",
        +      "status",
        +      "warnings"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedcandor_write6 fields changed
      • addedInput schema / properties / idempotency_key / description
        Added value: +"Stable opaque identity for one logical POST. Reuse only with the same method, path, actor, and body for transport retries. A completed receipt replays its original result, including a refusal; changed input with the same key is rejected. After a refused action and access recovery, use a new key for the new attempt. Follow retryable and recovery guidance if the operation is still running or its outcome is unknown. If omitted, MCP derives a key from this request identity; use an explicit key to deduplicate separate tool invocations."
      • addedInput schema / properties / operation / description
        Added value: +"Exact operation id from candor_schema, such as notes.create. Use the tool indicated by its calls.mcp or next_call."
      • addedInput schema / properties / parent_action / description
        Added value: +"Existing action id in this workspace, typically returned in next_actions, whose root identity this continuation inherits. An omitted reason inherits the parent reason; an explicit reason is preserved, except for fixed-reason orientation operations. Omit for a new root action."
      • changedInput schema / properties / reason / description
        Previous value: -"Concise user-visible reason recorded in action history."New value: +"Concise user-visible purpose recorded in immutable action history, including for financial reads. A reason is not approval. Root operations require it except fixed-reason orientation operations; continuations inherit the parent reason only when no reason is supplied. Fixed-reason orientation operations always use their system reason."
      • addedInput schema / properties / task_key / description
        Added value: +"Optional stable label grouping operations for the same user task. Omit to inherit the parent task key, if any. It does not schedule work or provide idempotency."
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "operation"
        -]New value: +[
        +  "operation"
        +]
  2. 12 tool updates
    • Removedcandor_account
    • Changedcandor_changes3 fields changed
      • changedInput schema / properties / limit / maximum
        Previous value: -100New value: +1000
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Addedcandor_configure_overview
    • Changedcandor_connections3 fields changed
      • changedInput schema / properties / args / description
        Previous value: -"Path and query arguments declared by the selected operation. Do not put request-body fields here."New value: +"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Changedcandor_get3 fields changed
      • changedInput schema / properties / args / description
        Previous value: -"Path and query arguments declared by the selected operation. Do not put request-body fields here."New value: +"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Changedcandor_open5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / acknowledge_checkpoint
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / idempotency_key
        Removed value: -{
        -  "maxLength": 128,
        -  "minLength": 16,
        -  "type": "string"
        -}
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Addedcandor_preview
    • Changedcandor_query4 fields changed
      • changedInput schema / properties / dataset / enum
        Previous value: -[
        -  "accounts",
        -  "balances",
        -  "account_terms",
        -  "transactions",
        -  "coverage",
        -  "recurring",
        -  "holdings",
        -  "investment_transactions",
        -  "budgets",
        -  "goals",
        -  "rules",
        -  "changes",
        -  "actions"
        -]New value: +[
        +  "properties",
        +  "accounts",
        +  "balances",
        +  "account_terms",
        +  "transactions",
        +  "coverage",
        +  "recurring",
        +  "holdings",
        +  "holding_valuations",
        +  "investment_transactions",
        +  "budgets",
        +  "goals",
        +  "rules",
        +  "categories",
        +  "changes",
        +  "actions"
        +]
      • changedInput schema / properties / filters / description
        Previous value: -"Path and query arguments declared by the selected operation. Do not put request-body fields here."New value: +"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Changedcandor_schema3 fields changed
      • changedInput schema / properties / dataset / enum
        Previous value: -[
        -  "accounts",
        -  "balances",
        -  "account_terms",
        -  "transactions",
        -  "coverage",
        -  "recurring",
        -  "holdings",
        -  "investment_transactions",
        -  "budgets",
        -  "goals",
        -  "rules",
        -  "changes",
        -  "actions"
        -]New value: +[
        +  "properties",
        +  "accounts",
        +  "balances",
        +  "account_terms",
        +  "transactions",
        +  "coverage",
        +  "recurring",
        +  "holdings",
        +  "holding_valuations",
        +  "investment_transactions",
        +  "budgets",
        +  "goals",
        +  "rules",
        +  "categories",
        +  "changes",
        +  "actions"
        +]
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Changedcandor_snapshot5 fields changed
      • changedInput schema / properties / datasets / items / enum
        Previous value: -[
        -  "accounts",
        -  "balances",
        -  "account_terms",
        -  "transactions",
        -  "coverage",
        -  "recurring",
        -  "holdings",
        -  "investment_transactions",
        -  "budgets",
        -  "goals",
        -  "rules",
        -  "changes",
        -  "actions"
        -]New value: +[
        +  "properties",
        +  "accounts",
        +  "balances",
        +  "account_terms",
        +  "transactions",
        +  "coverage",
        +  "recurring",
        +  "holdings",
        +  "holding_valuations",
        +  "investment_transactions",
        +  "budgets",
        +  "goals",
        +  "rules",
        +  "categories",
        +  "changes",
        +  "actions"
        +]
      • changedInput schema / properties / datasets / maxItems
        Previous value: -13New value: +16
      • changedInput schema / properties / filters / description
        Previous value: -"Path and query arguments declared by the selected operation. Do not put request-body fields here."New value: +"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
    • Changedcandor_visualize15 fields changed
      • removedInput schema / $defs
        Removed value: -{
        -  "__schema0": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "type": "number"
        -      },
        -      {
        -        "type": "boolean"
        -      },
        -      {
        -        "type": "null"
        -      },
        -      {
        -        "items": {
        -          "$ref": "#/$defs/__schema0"
        -        },
        -        "type": "array"
        -      },
        -      {
        -        "additionalProperties": {
        -          "$ref": "#/$defs/__schema0"
        -        },
        -        "propertyNames": {
        -          "type": "string"
        -        },
        -        "type": "object"
        -      }
        -    ]
        -  }
        -}
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties / args
        Removed value: -{
        -  "additionalProperties": {
        -    "$ref": "#/$defs/__schema0"
        -  },
        -  "description": "Path and query arguments declared by the selected operation. Do not put request-body fields here.",
        -  "propertyNames": {
        -    "type": "string"
        -  },
        -  "type": "object"
        -}
      • addedInput schema / properties / from
        Added value: +{
        +  "format": "date",
        +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +  "type": "string"
        +}
      • removedInput schema / properties / inline_response
        Removed value: -{
        -  "description": "Return the full response payload in this MCP tool result instead of a resource link. Use only when the client can materialize large tool results into a code sandbox; the response may be very large.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / kind
        Removed value: -{
        -  "enum": [
        -    "budget-status",
        -    "cashflow",
        -    "metric-trend",
        -    "overview",
        -    "spending-categories",
        -    "visible-net-position"
        -  ],
        -  "type": "string"
        -}
      • addedInput schema / properties / panel
        Added value: +{
        +  "enum": [
        +    "net-position",
        +    "cash-flow",
        +    "recent-transactions",
        +    "holdings",
        +    "investments",
        +    "spending",
        +    "budget-status",
        +    "goals",
        +    "coming-up",
        +    "agent-activity"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / panels
        Added value: +{
        +  "items": {
        +    "enum": [
        +      "net-position",
        +      "cash-flow",
        +      "recent-transactions",
        +      "holdings",
        +      "investments",
        +      "spending",
        +      "budget-status",
        +      "goals",
        +      "coming-up",
        +      "agent-activity"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 5,
        +  "minItems": 2,
        +  "type": "array"
        +}
      • addedInput schema / properties / preset
        Added value: +{
        +  "enum": [
        +    "1w",
        +    "1m",
        +    "3m",
        +    "ytd",
        +    "1y"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / to
        Added value: +{
        +  "format": "date",
        +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "reason",
        -  "kind"
        -]New value: +[
        +  "reason"
        +]
      • removedOutput schema / additionalProperties
        Removed value: -false
      • addedOutput schema / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "panels": {
        +        "items": {
        +          "oneOf": [
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "account_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "asset_accounts": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "institution": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "mask": {
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "category",
        +                      "id",
        +                      "name"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "assets": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "net-position",
        +                  "type": "string"
        +                },
        +                "liabilities": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "liability_accounts": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "institution": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "mask": {
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "category",
        +                      "id",
        +                      "name"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "net": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "period_change": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "assets": {
        +                      "anyOf": [
        +                        {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "percent": {
        +                              "anyOf": [
        +                                {
        +                                  "type": "number"
        +                                },
        +                                {
        +                                  "type": "null"
        +                                }
        +                              ]
        +                            },
        +                            "since": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "percent",
        +                            "since"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        {
        +                          "type": "null"
        +                        }
        +                      ]
        +                    },
        +                    "liabilities": {
        +                      "anyOf": [
        +                        {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "percent": {
        +                              "anyOf": [
        +                                {
        +                                  "type": "number"
        +                                },
        +                                {
        +                                  "type": "null"
        +                                }
        +                              ]
        +                            },
        +                            "since": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "percent",
        +                            "since"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        {
        +                          "type": "null"
        +                        }
        +                      ]
        +                    },
        +                    "net": {
        +                      "anyOf": [
        +                        {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "percent": {
        +                              "anyOf": [
        +                                {
        +                                  "type": "number"
        +                                },
        +                                {
        +                                  "type": "null"
        +                                }
        +                              ]
        +                            },
        +                            "since": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "percent",
        +                            "since"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        {
        +                          "type": "null"
        +                        }
        +                      ]
        +                    }
        +                  },
        +                  "required": [
        +                    "assets",
        +                    "liabilities",
        +                    "net"
        +                  ],
        +                  "type": "object"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "property_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "series": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "provenance": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "date",
        +                      "provenance",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "account_count",
        +                "asset_accounts",
        +                "assets",
        +                "liability_accounts",
        +                "liabilities",
        +                "net",
        +                "period_change",
        +                "series"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "cash-flow",
        +                  "type": "string"
        +                },
        +                "income": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "net": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "periods": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "end": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "income": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "label": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "net": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "spending": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "start": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "end",
        +                      "label",
        +                      "start",
        +                      "income",
        +                      "net",
        +                      "spending"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "spending": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "transaction_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "income",
        +                "net",
        +                "periods",
        +                "spending",
        +                "transaction_count"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "recent-transactions",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "type": "string"
        +                      },
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "description": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "direction": {
        +                        "enum": [
        +                          "inflow",
        +                          "neutral",
        +                          "outflow"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "pending": {
        +                        "type": "boolean"
        +                      }
        +                    },
        +                    "required": [
        +                      "amount",
        +                      "date",
        +                      "description",
        +                      "direction",
        +                      "id",
        +                      "pending"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "rows"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "holding_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "id": {
        +                  "const": "holdings",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "cost_basis": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "day_change_percent": {
        +                        "anyOf": [
        +                          {
        +                            "type": "number"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "gain_loss": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "quantity": {
        +                        "type": "string"
        +                      },
        +                      "sparkline": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "value": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "date",
        +                            "value"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "symbol": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "weight": {
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "id",
        +                      "name"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "total_value": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "rows",
        +                "holding_count",
        +                "total_value"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "account_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "accounts": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "as_of": {
        +                        "anyOf": [
        +                          {
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "basis": {
        +                        "enum": [
        +                          "positions",
        +                          "source_observed"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "institution": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "mask": {
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "period_change": {
        +                        "anyOf": [
        +                          {
        +                            "additionalProperties": false,
        +                            "properties": {
        +                              "amount": {
        +                                "maxLength": 32,
        +                                "type": "string"
        +                              },
        +                              "percent": {
        +                                "anyOf": [
        +                                  {
        +                                    "type": "number"
        +                                  },
        +                                  {
        +                                    "type": "null"
        +                                  }
        +                                ]
        +                              },
        +                              "since": {
        +                                "format": "date",
        +                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                                "type": "string"
        +                              }
        +                            },
        +                            "required": [
        +                              "amount",
        +                              "percent",
        +                              "since"
        +                            ],
        +                            "type": "object"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "reported_balance": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "as_of",
        +                      "basis",
        +                      "id",
        +                      "name",
        +                      "period_change"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "allocation": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "holding_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "type": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "weight": {
        +                        "type": "number"
        +                      }
        +                    },
        +                    "required": [
        +                      "holding_count",
        +                      "type",
        +                      "value",
        +                      "weight"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "allocation_basis": {
        +                  "enum": [
        +                    "net",
        +                    "gross"
        +                  ],
        +                  "type": "string"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "day_change": {
        +                  "anyOf": [
        +                    {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "amount": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "holding_count": {
        +                          "exclusiveMinimum": 0,
        +                          "maximum": 9007199254740991,
        +                          "type": "integer"
        +                        },
        +                        "percent": {
        +                          "anyOf": [
        +                            {
        +                              "type": "number"
        +                            },
        +                            {
        +                              "type": "null"
        +                            }
        +                          ]
        +                        }
        +                      },
        +                      "required": [
        +                        "amount",
        +                        "holding_count",
        +                        "percent"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "investments",
        +                  "type": "string"
        +                },
        +                "latest_price_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "market_valued_account_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "movers": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "account_count": {
        +                        "exclusiveMinimum": 0,
        +                        "maximum": 9007199254740991,
        +                        "type": "integer"
        +                      },
        +                      "day_change_amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "day_change_percent": {
        +                        "type": "number"
        +                      },
        +                      "holding_ids": {
        +                        "items": {
        +                          "minLength": 1,
        +                          "type": "string"
        +                        },
        +                        "minItems": 1,
        +                        "type": "array"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "session": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "closes_at": {
        +                            "type": "string"
        +                          },
        +                          "market_date": {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          "opens_at": {
        +                            "type": "string"
        +                          },
        +                          "points": {
        +                            "items": {
        +                              "additionalProperties": false,
        +                              "properties": {
        +                                "at": {
        +                                  "type": "string"
        +                                },
        +                                "price": {
        +                                  "type": "string"
        +                                }
        +                              },
        +                              "required": [
        +                                "at",
        +                                "price"
        +                              ],
        +                              "type": "object"
        +                            },
        +                            "minItems": 1,
        +                            "type": "array"
        +                          },
        +                          "previous_close": {
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "closes_at",
        +                          "market_date",
        +                          "opens_at",
        +                          "points",
        +                          "previous_close"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "sparkline": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "value": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "date",
        +                            "value"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "symbol": {
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "account_count",
        +                      "day_change_percent",
        +                      "holding_ids",
        +                      "id",
        +                      "name",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "period_change": {
        +                  "anyOf": [
        +                    {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "amount": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "percent": {
        +                          "anyOf": [
        +                            {
        +                              "type": "number"
        +                            },
        +                            {
        +                              "type": "null"
        +                            }
        +                          ]
        +                        },
        +                        "since": {
        +                          "format": "date",
        +                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                          "type": "string"
        +                        }
        +                      },
        +                      "required": [
        +                        "amount",
        +                        "percent",
        +                        "since"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "price_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "series": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "provenance": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "date",
        +                      "provenance",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "stale_quote_holding_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "total_value": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "account_count",
        +                "accounts",
        +                "allocation_basis",
        +                "allocation",
        +                "day_change",
        +                "market_valued_account_count",
        +                "movers",
        +                "period_change",
        +                "latest_price_as_of",
        +                "price_as_of",
        +                "stale_quote_holding_count",
        +                "series",
        +                "total_value"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "spending",
        +                  "type": "string"
        +                },
        +                "periods": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "categories": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "category": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "category"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "end": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "label": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "start": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "total": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "end",
        +                      "label",
        +                      "start",
        +                      "categories",
        +                      "total"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "transaction_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "amount",
        +                      "category",
        +                      "transaction_count"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "total": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "transaction_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "rows",
        +                "periods",
        +                "total",
        +                "transaction_count"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "actual": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "configured": {
        +                  "type": "boolean"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "days_elapsed": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "days_in_period": {
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "expected_to_date": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "group_totals": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "actual": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "line_type": {
        +                        "enum": [
        +                          "recurring",
        +                          "flexible",
        +                          "goal",
        +                          "cushion",
        +                          "other"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "planned": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "remaining": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "actual",
        +                      "line_type",
        +                      "planned",
        +                      "remaining"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "id": {
        +                  "const": "budget-status",
        +                  "type": "string"
        +                },
        +                "pace_variance": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "period": {
        +                  "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                  "type": "string"
        +                },
        +                "planned": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "remaining": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "row_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "actual": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "line_type": {
        +                        "enum": [
        +                          "recurring",
        +                          "flexible",
        +                          "goal",
        +                          "cushion",
        +                          "other"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "planned": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "remaining": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "not_started",
        +                          "over_budget",
        +                          "within_budget"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "transaction_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "actual",
        +                      "category",
        +                      "line_type",
        +                      "planned",
        +                      "remaining",
        +                      "status",
        +                      "transaction_count"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "safe_to_spend": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "series": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "value": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "date",
        +                      "value"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "unplanned_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "unplanned_rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "actual": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "transaction_count": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "actual",
        +                      "category",
        +                      "transaction_count"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "unplanned_total": {
        +                  "maxLength": 32,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "actual",
        +                "configured",
        +                "days_elapsed",
        +                "days_in_period",
        +                "expected_to_date",
        +                "group_totals",
        +                "pace_variance",
        +                "period",
        +                "planned",
        +                "remaining",
        +                "row_count",
        +                "rows",
        +                "safe_to_spend",
        +                "series",
        +                "unplanned_count",
        +                "unplanned_rows",
        +                "unplanned_total"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "id": {
        +                  "const": "goals",
        +                  "type": "string"
        +                },
        +                "period": {
        +                  "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "contribution_amount": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "contribution_cadence": {
        +                        "enum": [
        +                          "weekly",
        +                          "biweekly",
        +                          "monthly",
        +                          "quarterly",
        +                          "annual"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "days_elapsed": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "days_remaining": {
        +                        "maximum": 9007199254740991,
        +                        "minimum": 0,
        +                        "type": "integer"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "enum": [
        +                          "debt_reduction",
        +                          "income",
        +                          "other",
        +                          "purchase",
        +                          "reserve",
        +                          "sinking_fund"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "observed": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "observed_this_period": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "projected_completion_date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "remaining": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "required_contribution": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "amount": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "cadence": {
        +                            "enum": [
        +                              "weekly",
        +                              "biweekly",
        +                              "monthly",
        +                              "quarterly",
        +                              "annual"
        +                            ],
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "amount",
        +                          "cadence"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "series": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "value": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "date",
        +                            "value"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "series_partial": {
        +                        "type": "boolean"
        +                      },
        +                      "started_on": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "active",
        +                          "archived",
        +                          "completed",
        +                          "paused"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "target": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "target_date": {
        +                        "format": "date",
        +                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "days_elapsed",
        +                      "id",
        +                      "kind",
        +                      "name",
        +                      "series",
        +                      "series_partial",
        +                      "started_on",
        +                      "status"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "period",
        +                "rows"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "candidates_count": {
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "has_recurring_items": {
        +                  "type": "boolean"
        +                },
        +                "horizon_days": {
        +                  "exclusiveMinimum": 0,
        +                  "maximum": 9007199254740991,
        +                  "type": "integer"
        +                },
        +                "id": {
        +                  "const": "coming-up",
        +                  "type": "string"
        +                },
        +                "month": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "left_to_pay": {
        +                      "additionalProperties": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "propertyNames": {
        +                        "type": "string"
        +                      },
        +                      "type": "object"
        +                    },
        +                    "paid_so_far": {
        +                      "additionalProperties": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "propertyNames": {
        +                        "type": "string"
        +                      },
        +                      "type": "object"
        +                    },
        +                    "payments": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "account_label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "amount": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "cadence": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "category": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "date": {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          "id": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "merchant_name": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "recurring_item_id": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "status": {
        +                            "enum": [
        +                              "paid",
        +                              "expected"
        +                            ],
        +                            "type": "string"
        +                          },
        +                          "transaction_id": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "id",
        +                          "recurring_item_id",
        +                          "merchant_name",
        +                          "cadence",
        +                          "date",
        +                          "amount",
        +                          "status"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "period": {
        +                      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "period",
        +                    "left_to_pay",
        +                    "paid_so_far"
        +                  ],
        +                  "type": "object"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "account_identity_id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "account_label": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "amount_estimate": {
        +                        "maxLength": 32,
        +                        "type": "string"
        +                      },
        +                      "cadence": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "category": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "confirmation_note": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "confirmed": {
        +                        "type": "boolean"
        +                      },
        +                      "direction": {
        +                        "enum": [
        +                          "inflow",
        +                          "outflow",
        +                          "neutral"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "ends_at": {
        +                        "anyOf": [
        +                          {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "group": {
        +                        "enum": [
        +                          "overdue",
        +                          "upcoming",
        +                          "later",
        +                          "candidate",
        +                          "archived"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "last_amount": {
        +                        "anyOf": [
        +                          {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "merchant_name": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "missed_count": {
        +                        "anyOf": [
        +                          {
        +                            "maximum": 9007199254740991,
        +                            "minimum": 0,
        +                            "type": "integer"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "predicted_next_date": {
        +                        "anyOf": [
        +                          {
        +                            "format": "date",
        +                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                            "type": "string"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "predicted_window": {
        +                        "anyOf": [
        +                          {
        +                            "additionalProperties": false,
        +                            "properties": {
        +                              "from": {
        +                                "format": "date",
        +                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                                "type": "string"
        +                              },
        +                              "to": {
        +                                "format": "date",
        +                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                                "type": "string"
        +                              }
        +                            },
        +                            "required": [
        +                              "from",
        +                              "to"
        +                            ],
        +                            "type": "object"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "remaining_occurrences": {
        +                        "anyOf": [
        +                          {
        +                            "maximum": 9007199254740991,
        +                            "minimum": 0,
        +                            "type": "integer"
        +                          },
        +                          {
        +                            "type": "null"
        +                          }
        +                        ]
        +                      },
        +                      "source": {
        +                        "enum": [
        +                          "detected",
        +                          "declared"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "candidate",
        +                          "active",
        +                          "stopped",
        +                          "dismissed"
        +                        ],
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "account_identity_id",
        +                      "amount_estimate",
        +                      "cadence",
        +                      "confirmed",
        +                      "direction",
        +                      "ends_at",
        +                      "group",
        +                      "id",
        +                      "last_amount",
        +                      "merchant_name",
        +                      "missed_count",
        +                      "predicted_next_date",
        +                      "predicted_window",
        +                      "remaining_occurrences",
        +                      "source",
        +                      "status"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "timeline": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "inflow": {
        +                        "additionalProperties": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "propertyNames": {
        +                          "type": "string"
        +                        },
        +                        "type": "object"
        +                      },
        +                      "month": {
        +                        "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
        +                        "type": "string"
        +                      },
        +                      "occurrences": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "amount": {
        +                              "maxLength": 32,
        +                              "type": "string"
        +                            },
        +                            "date": {
        +                              "format": "date",
        +                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                              "type": "string"
        +                            },
        +                            "direction": {
        +                              "enum": [
        +                                "inflow",
        +                                "outflow",
        +                                "neutral"
        +                              ],
        +                              "type": "string"
        +                            },
        +                            "merchant_name": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "recurring_item_id": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "amount",
        +                            "date",
        +                            "direction",
        +                            "merchant_name",
        +                            "recurring_item_id"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "outflow": {
        +                        "additionalProperties": {
        +                          "maxLength": 32,
        +                          "type": "string"
        +                        },
        +                        "propertyNames": {
        +                          "type": "string"
        +                        },
        +                        "type": "object"
        +                      }
        +                    },
        +                    "required": [
        +                      "inflow",
        +                      "month",
        +                      "occurrences",
        +                      "outflow"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "totals": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "annual": {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "inflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        },
        +                        "outflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        }
        +                      },
        +                      "required": [
        +                        "inflow",
        +                        "outflow"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "counted": {
        +                      "maximum": 9007199254740991,
        +                      "minimum": 0,
        +                      "type": "integer"
        +                    },
        +                    "excluded": {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "candidate": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        },
        +                        "ended": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        },
        +                        "inactive": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        },
        +                        "no_cadence": {
        +                          "maximum": 9007199254740991,
        +                          "minimum": 0,
        +                          "type": "integer"
        +                        }
        +                      },
        +                      "required": [
        +                        "candidate",
        +                        "ended",
        +                        "inactive",
        +                        "no_cadence"
        +                      ],
        +                      "type": "object"
        +                    },
        +                    "monthly_equivalent": {
        +                      "additionalProperties": false,
        +                      "properties": {
        +                        "inflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        },
        +                        "outflow": {
        +                          "additionalProperties": {
        +                            "maxLength": 32,
        +                            "type": "string"
        +                          },
        +                          "propertyNames": {
        +                            "type": "string"
        +                          },
        +                          "type": "object"
        +                        }
        +                      },
        +                      "required": [
        +                        "inflow",
        +                        "outflow"
        +                      ],
        +                      "type": "object"
        +                    }
        +                  },
        +                  "required": [
        +                    "annual",
        +                    "counted",
        +                    "excluded",
        +                    "monthly_equivalent"
        +                  ],
        +                  "type": "object"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v1",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "id",
        +                "candidates_count",
        +                "horizon_days",
        +                "month",
        +                "rows",
        +                "timeline",
        +                "totals"
        +              ],
        +              "type": "object"
        +            },
        +            {
        +              "additionalProperties": false,
        +              "properties": {
        +                "caveats": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                },
        +                "context": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "summary": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "talking_points": {
        +                      "items": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "type": "array"
        +                    },
        +                    "visible_facts": {
        +                      "items": {
        +                        "additionalProperties": false,
        +                        "properties": {
        +                          "label": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          },
        +                          "value": {
        +                            "minLength": 1,
        +                            "type": "string"
        +                          }
        +                        },
        +                        "required": [
        +                          "label",
        +                          "value"
        +                        ],
        +                        "type": "object"
        +                      },
        +                      "type": "array"
        +                    }
        +                  },
        +                  "required": [
        +                    "summary",
        +                    "talking_points",
        +                    "visible_facts"
        +                  ],
        +                  "type": "object"
        +                },
        +                "data_as_of": {
        +                  "anyOf": [
        +                    {
        +                      "type": "string"
        +                    },
        +                    {
        +                      "type": "null"
        +                    }
        +                  ]
        +                },
        +                "generated_at": {
        +                  "type": "string"
        +                },
        +                "has_earlier": {
        +                  "type": "boolean"
        +                },
        +                "id": {
        +                  "const": "agent-activity",
        +                  "type": "string"
        +                },
        +                "presentation": {
        +                  "enum": [
        +                    "summary",
        +                    "detail"
        +                  ],
        +                  "type": "string"
        +                },
        +                "range": {
        +                  "additionalProperties": false,
        +                  "properties": {
        +                    "from": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    },
        +                    "label": {
        +                      "minLength": 1,
        +                      "type": "string"
        +                    },
        +                    "preset": {
        +                      "enum": [
        +                        "1w",
        +                        "1m",
        +                        "3m",
        +                        "ytd",
        +                        "1y"
        +                      ],
        +                      "type": "string"
        +                    },
        +                    "to": {
        +                      "format": "date",
        +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "from",
        +                    "label",
        +                    "to"
        +                  ],
        +                  "type": "object"
        +                },
        +                "rows": {
        +                  "items": {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "changed_domains": {
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "created_at": {
        +                        "type": "string"
        +                      },
        +                      "data_domains": {
        +                        "items": {
        +                          "type": "string"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "id": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "last_activity_at": {
        +                        "type": "string"
        +                      },
        +                      "operation": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "operations": {
        +                        "items": {
        +                          "additionalProperties": false,
        +                          "properties": {
        +                            "agent": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "changed_domains": {
        +                              "items": {
        +                                "type": "string"
        +                              },
        +                              "type": "array"
        +                            },
        +                            "created_at": {
        +                              "type": "string"
        +                            },
        +                            "data_domains": {
        +                              "items": {
        +                                "type": "string"
        +                              },
        +                              "type": "array"
        +                            },
        +                            "id": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "operation": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "outcome": {
        +                              "minLength": 1,
        +                              "type": "string"
        +                            },
        +                            "status": {
        +                              "enum": [
        +                                "failed",
        +                                "refused",
        +                                "started",
        +                                "succeeded"
        +                              ],
        +                              "type": "string"
        +                            }
        +                          },
        +                          "required": [
        +                            "id",
        +                            "agent",
        +                            "changed_domains",
        +                            "created_at",
        +                            "data_domains",
        +                            "operation",
        +                            "status"
        +                          ],
        +                          "type": "object"
        +                        },
        +                        "type": "array"
        +                      },
        +                      "operations_truncated": {
        +                        "type": "boolean"
        +                      },
        +                      "outcome": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "reason": {
        +                        "minLength": 1,
        +                        "type": "string"
        +                      },
        +                      "state": {
        +                        "enum": [
        +                          "changed",
        +                          "incomplete",
        +                          "in_progress",
        +                          "problem",
        +                          "read_only"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "status": {
        +                        "enum": [
        +                          "failed",
        +                          "refused",
        +                          "started",
        +                          "succeeded"
        +                        ],
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "changed_domains",
        +                      "created_at",
        +                      "data_domains",
        +                      "last_activity_at",
        +                      "operation",
        +                      "operations",
        +                      "operations_truncated",
        +                      "reason",
        +                      "state",
        +                      "status"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "title": {
        +                  "minLength": 1,
        +                  "type": "string"
        +                },
        +                "version": {
        +                  "const": "dashboard_panel.v2",
        +                  "type": "string"
        +                },
        +                "view_url": {
        +                  "format": "uri",
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "caveats",
        +                "context",
        +                "data_as_of",
        +                "generated_at",
        +                "presentation",
        +                "range",
        +                "title",
        +                "version",
        +                "view_url",
        +                "has_earlier",
        +                "id",
        +                "rows"
        +              ],
        +              "type": "object"
        +            }
        +          ]
        +        },
        +        "maxItems": 5,
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "version": {
        +        "const": "dashboard_visual.v2",
        +        "type": "string"
        +      },
        +      "view_url": {
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "panels",
        +      "version",
        +      "view_url"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "completed_at": {
        +            "type": "string"
        +          },
        +          "created_at": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "operation": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "parent_action_id": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "reason": {
        +            "maxLength": 280,
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "root_action_id": {
        +            "minLength": 1,
        +            "type": "string"
        +          },
        +          "status": {
        +            "enum": [
        +              "started",
        +              "succeeded",
        +              "refused",
        +              "failed"
        +            ],
        +            "type": "string"
        +          },
        +          "task_key": {
        +            "maxLength": 128,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "created_at",
        +          "id",
        +          "operation",
        +          "reason",
        +          "root_action_id",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "data": {},
        +      "data_freshness": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "balances_last_synced_at": {
        +            "type": "string"
        +          },
        +          "coverage": {
        +            "enum": [
        +              "complete",
        +              "partial",
        +              "stale",
        +              "unavailable"
        +            ],
        +            "type": "string"
        +          },
        +          "holdings_last_synced_at": {
        +            "type": "string"
        +          },
        +          "transactions_last_synced_at": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "coverage"
        +        ],
        +        "type": "object"
        +      },
        +      "errors": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "expires_at": {
        +              "type": "string"
        +            },
        +            "idempotency_key": {
        +              "maxLength": 128,
        +              "minLength": 16,
        +              "pattern": "^[\\x20-\\x7e]+$",
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            },
        +            "recovery_url": {
        +              "type": "string"
        +            },
        +            "required_capability": {
        +              "type": "string"
        +            },
        +            "retry_after_seconds": {
        +              "exclusiveMinimum": 0,
        +              "maximum": 9007199254740991,
        +              "type": "integer"
        +            },
        +            "retryable": {
        +              "type": "boolean"
        +            },
        +            "suggested_command": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "message",
        +            "retryable"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "generated_at": {
        +        "type": "string"
        +      },
        +      "metadata": {
        +        "additionalProperties": {},
        +        "properties": {
        +          "view_url": {
        +            "format": "uri",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "next_actions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "args": {
        +              "additionalProperties": {
        +                "$ref": "#/$defs/__schema0"
        +              },
        +              "propertyNames": {
        +                "type": "string"
        +              },
        +              "type": "object"
        +            },
        +            "command": {
        +              "type": "string"
        +            },
        +            "intent": {
        +              "type": "string"
        +            },
        +            "shell": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "args",
        +            "command",
        +            "intent",
        +            "shell"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "request_id": {
        +        "type": "string"
        +      },
        +      "schema_version": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "enum": [
        +          "success",
        +          "partial_success",
        +          "action_required",
        +          "error"
        +        ],
        +        "type": "string"
        +      },
        +      "user_message": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "warnings": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "code": {
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "code",
        +            "message"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "data",
        +      "errors",
        +      "generated_at",
        +      "next_actions",
        +      "request_id",
        +      "schema_version",
        +      "status",
        +      "warnings"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties
        Removed value: -{
        -  "action": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "completed_at": {
        -        "type": "string"
        -      },
        -      "created_at": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "operation": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "parent_action_id": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "reason": {
        -        "maxLength": 280,
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "root_action_id": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "status": {
        -        "enum": [
        -          "started",
        -          "succeeded",
        -          "refused",
        -          "failed"
        -        ],
        -        "type": "string"
        -      },
        -      "task_key": {
        -        "maxLength": 128,
        -        "minLength": 1,
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "created_at",
        -      "id",
        -      "operation",
        -      "reason",
        -      "root_action_id",
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  "data": {},
        -  "data_freshness": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "balances_last_synced_at": {
        -        "type": "string"
        -      },
        -      "coverage": {
        -        "enum": [
        -          "complete",
        -          "partial",
        -          "stale",
        -          "unavailable"
        -        ],
        -        "type": "string"
        -      },
        -      "holdings_last_synced_at": {
        -        "type": "string"
        -      },
        -      "transactions_last_synced_at": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "coverage"
        -    ],
        -    "type": "object"
        -  },
        -  "errors": {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "code": {
        -          "type": "string"
        -        },
        -        "expires_at": {
        -          "type": "string"
        -        },
        -        "idempotency_key": {
        -          "maxLength": 128,
        -          "minLength": 16,
        -          "pattern": "^[\\x20-\\x7e]+$",
        -          "type": "string"
        -        },
        -        "message": {
        -          "type": "string"
        -        },
        -        "recovery_url": {
        -          "type": "string"
        -        },
        -        "required_capability": {
        -          "type": "string"
        -        },
        -        "retry_after_seconds": {
        -          "exclusiveMinimum": 0,
        -          "maximum": 9007199254740991,
        -          "type": "integer"
        -        },
        -        "retryable": {
        -          "type": "boolean"
        -        },
        -        "suggested_command": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "code",
        -        "message",
        -        "retryable"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "generated_at": {
        -    "type": "string"
        -  },
        -  "metadata": {
        -    "additionalProperties": {},
        -    "propertyNames": {
        -      "type": "string"
        -    },
        -    "type": "object"
        -  },
        -  "next_actions": {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema0"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "command": {
        -          "type": "string"
        -        },
        -        "intent": {
        -          "type": "string"
        -        },
        -        "shell": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "command",
        -        "intent",
        -        "shell"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "request_id": {
        -    "type": "string"
        -  },
        -  "schema_version": {
        -    "type": "string"
        -  },
        -  "status": {
        -    "enum": [
        -      "success",
        -      "partial_success",
        -      "action_required",
        -      "error"
        -    ],
        -    "type": "string"
        -  },
        -  "user_message": {
        -    "minLength": 1,
        -    "type": "string"
        -  },
        -  "warnings": {
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "code": {
        -          "type": "string"
        -        },
        -        "message": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "code",
        -        "message"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  }
        -}
      • removedOutput schema / required
        Removed value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "warnings"
        -]
    • Changedcandor_write3 fields changed
      • changedInput schema / properties / args / description
        Previous value: -"Path and query arguments declared by the selected operation. Do not put request-body fields here."New value: +"Arguments listed in accepted_args by candor_schema for the selected operation, including declared shorthand such as open.acknowledge checkpoint. Put action context such as parent_action at the top level, including when it comes from a returned next action. Request-body fields belong in input unless the operation explicitly accepts them as shorthand args."
      • addedOutput schema / properties / metadata / properties
        Added value: +{
        +  "view_url": {
        +    "format": "uri",
        +    "type": "string"
        +  }
        +}
      • removedOutput schema / properties / metadata / propertyNames
        Removed value: -{
        -  "type": "string"
        -}
  3. 10 tool updates
    • Changedcandor_account1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_changes1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_connections1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_get1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_open1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_query1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_schema1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_snapshot1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_visualize1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
    • Changedcandor_write1 field changed
      • addedOutput schema / properties / metadata
        Added value: +{
        +  "additionalProperties": {},
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
  4. 10 tool updates
    • Changedcandor_account2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_changes2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_connections2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_get2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_open2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_query2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_schema2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_snapshot2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_visualize2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
    • Changedcandor_write2 fields changed
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "minLength": 1,
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "data",
        -  "errors",
        -  "generated_at",
        -  "next_actions",
        -  "request_id",
        -  "schema_version",
        -  "status",
        -  "summary",
        -  "warnings"
        -]New value: +[
        +  "data",
        +  "errors",
        +  "generated_at",
        +  "next_actions",
        +  "request_id",
        +  "schema_version",
        +  "status",
        +  "warnings"
        +]
  5. 10 tool updates
    • Changedcandor_account2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_changes2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_connections2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_get2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_open2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_query3 fields changed
      • changedInput schema / properties / dataset / enum
        Previous value: -[
        -  "accounts",
        -  "balances",
        -  "account_terms",
        -  "transactions",
        -  "coverage",
        -  "spending_categories",
        -  "merchants",
        -  "recurring",
        -  "holdings",
        -  "investment_transactions",
        -  "budgets",
        -  "goals",
        -  "rules",
        -  "changes",
        -  "actions"
        -]New value: +[
        +  "accounts",
        +  "balances",
        +  "account_terms",
        +  "transactions",
        +  "coverage",
        +  "recurring",
        +  "holdings",
        +  "investment_transactions",
        +  "budgets",
        +  "goals",
        +  "rules",
        +  "changes",
        +  "actions"
        +]
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_schema3 fields changed
      • changedInput schema / properties / dataset / enum
        Previous value: -[
        -  "accounts",
        -  "balances",
        -  "account_terms",
        -  "transactions",
        -  "coverage",
        -  "spending_categories",
        -  "merchants",
        -  "recurring",
        -  "holdings",
        -  "investment_transactions",
        -  "budgets",
        -  "goals",
        -  "rules",
        -  "changes",
        -  "actions"
        -]New value: +[
        +  "accounts",
        +  "balances",
        +  "account_terms",
        +  "transactions",
        +  "coverage",
        +  "recurring",
        +  "holdings",
        +  "investment_transactions",
        +  "budgets",
        +  "goals",
        +  "rules",
        +  "changes",
        +  "actions"
        +]
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_snapshot4 fields changed
      • changedInput schema / properties / datasets / items / enum
        Previous value: -[
        -  "accounts",
        -  "balances",
        -  "account_terms",
        -  "transactions",
        -  "coverage",
        -  "spending_categories",
        -  "merchants",
        -  "recurring",
        -  "holdings",
        -  "investment_transactions",
        -  "budgets",
        -  "goals",
        -  "rules",
        -  "changes",
        -  "actions"
        -]New value: +[
        +  "accounts",
        +  "balances",
        +  "account_terms",
        +  "transactions",
        +  "coverage",
        +  "recurring",
        +  "holdings",
        +  "investment_transactions",
        +  "budgets",
        +  "goals",
        +  "rules",
        +  "changes",
        +  "actions"
        +]
      • changedInput schema / properties / datasets / maxItems
        Previous value: -15New value: +13
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_visualize2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
    • Changedcandor_write2 fields changed
      • removedOutput schema / $defs / __schema1
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    },
        -    {
        -      "items": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "additionalProperties": {
        -        "$ref": "#/$defs/__schema1"
        -      },
        -      "propertyNames": {
        -        "type": "string"
        -      },
        -      "type": "object"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / query_scope
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "population": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "included_count": {
        -          "maximum": 9007199254740991,
        -          "minimum": 0,
        -          "type": "integer"
        -        },
        -        "total_available_count": {
        -          "anyOf": [
        -            {
        -              "maximum": 9007199254740991,
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            {
        -              "type": "null"
        -            }
        -          ]
        -        }
        -      },
        -      "required": [
        -        "included_count",
        -        "total_available_count"
        -      ],
        -      "type": "object"
        -    },
        -    "query": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "args": {
        -          "additionalProperties": {
        -            "$ref": "#/$defs/__schema1"
        -          },
        -          "propertyNames": {
        -            "type": "string"
        -          },
        -          "type": "object"
        -        },
        -        "operation": {
        -          "minLength": 1,
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "args",
        -        "operation"
        -      ],
        -      "type": "object"
        -    }
        -  },
        -  "required": [
        -    "population",
        -    "query"
        -  ],
        -  "type": "object"
        -}
  6. 10 tool updates
    • Changedcandor_account2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_changes2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_connections2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_get2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_open2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_query2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_schema3 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "maximum": 10,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_snapshot2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_visualize2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedcandor_write2 fields changed
      • addedOutput schema / $defs / __schema1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "number"
        +    },
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "items": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "additionalProperties": {
        +        "$ref": "#/$defs/__schema1"
        +      },
        +      "propertyNames": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / query_scope
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "population": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "included_count": {
        +          "maximum": 9007199254740991,
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total_available_count": {
        +          "anyOf": [
        +            {
        +              "maximum": 9007199254740991,
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            {
        +              "type": "null"
        +            }
        +          ]
        +        }
        +      },
        +      "required": [
        +        "included_count",
        +        "total_available_count"
        +      ],
        +      "type": "object"
        +    },
        +    "query": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "args": {
        +          "additionalProperties": {
        +            "$ref": "#/$defs/__schema1"
        +          },
        +          "propertyNames": {
        +            "type": "string"
        +          },
        +          "type": "object"
        +        },
        +        "operation": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "args",
        +        "operation"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "population",
        +    "query"
        +  ],
        +  "type": "object"
        +}
  7. 10 tool updates
    • Changedcandor_account5 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "__schema1": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedInput schema / properties / input / additionalProperties / $ref
        Added value: +"#/$defs/__schema1"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_changes2 fields changed
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_connections5 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "__schema1": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedInput schema / properties / input / additionalProperties / $ref
        Added value: +"#/$defs/__schema1"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_get5 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "__schema1": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedInput schema / properties / input / additionalProperties / $ref
        Added value: +"#/$defs/__schema1"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_open2 fields changed
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_query4 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / filters / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_schema2 fields changed
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_snapshot4 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / filters / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_visualize4 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
    • Changedcandor_write5 fields changed
      • addedInput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  "__schema1": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema1"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedInput schema / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
      • addedInput schema / properties / input / additionalProperties / $ref
        Added value: +"#/$defs/__schema1"
      • addedOutput schema / $defs
        Added value: +{
        +  "__schema0": {
        +    "anyOf": [
        +      {
        +        "type": "string"
        +      },
        +      {
        +        "type": "number"
        +      },
        +      {
        +        "type": "boolean"
        +      },
        +      {
        +        "type": "null"
        +      },
        +      {
        +        "items": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "type": "array"
        +      },
        +      {
        +        "additionalProperties": {
        +          "$ref": "#/$defs/__schema0"
        +        },
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      }
        +    ]
        +  }
        +}
      • addedOutput schema / properties / next_actions / items / properties / args / additionalProperties / $ref
        Added value: +"#/$defs/__schema0"
  8. 10 tool updates
    • First observedcandor_account
    • First observedcandor_changes
    • First observedcandor_connections
    • First observedcandor_get
    • First observedcandor_open
    • First observedcandor_query
    • First observedcandor_schema
    • First observedcandor_snapshot
    • First observedcandor_visualize
    • First observedcandor_write

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    B
    maintenance
    Enables AI agents to manage personal finances with deterministic, grounded tools for cash-flow projection, drift detection, reconciliation, and Todoist integration. All figures trace back to a local SQLite database.
    55
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to access and manage personal financial data from US institutions and manual entries, including transactions, balances, liabilities, and investments.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Self-hosted household finance app for shared expenses, budgets, investments, loans, and zakat, exposing MCP tools for AI agents to manage finances via natural language.
    3
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.