{"ok":true,"site":{"host":"bankgraph.app","url":"https://bankgraph.app/","type":"live","desc":"Investigate individual U.S. banks, the banking system, and economic context with public FDIC filings and direct-agency data.","tools":[{"name":"bankgraph.get_site_context","kind":"answer","impl":"imperative","description":"Read the current Bankgraph page, published FDIC quarter, available research layouts, and the actions an agent can take before entering the research board.","title":"Read Bankgraph context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/banks","/economy","/methods"]},{"name":"bankgraph.search_banks","kind":"answer","impl":"imperative","description":"Search the current FDIC institution snapshot by name, state, activity, and asset size before opening a bank or starting a research board. Returns up to 50 banks and an offset for the next page.","title":"Search US banks","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","maxLength":120,"description":"Bank name, city, or FDIC certificate search text."},"states":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2,"description":"Two-letter state code."},"maxItems":10,"uniqueItems":true},"active":{"type":"string","maxLength":8,"enum":["any","active","inactive"]},"assetMin":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Minimum assets in FDIC USD thousands; 50,000,000 means $50B."},"assetMax":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Maximum assets in FDIC USD thousands."},"sort":{"type":"string","maxLength":19,"enum":["name","assets","roa","roe","nim","deposits","loanToDeposit","noncurrentLoanRatio","tier1Ratio","employees","domesticOffices"]},"order":{"type":"string","maxLength":4,"enum":["asc","desc"]},"limit":{"type":"integer","minimum":1,"maximum":50},"offset":{"type":"integer","minimum":0,"maximum":100000}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/banks","/economy","/methods"]},{"name":"bankgraph.navigate","kind":"act","impl":"imperative","description":"Move this tab to any Bankgraph surface: the system homepage, research board, institution directory, economy, methodology, or a bank profile. A research destination can carry a question, layout, banks, states, asset range, and reporting quarter into the full board toolset. Research resumes the saved board unless fresh is true or the blank layout is requested.","title":"Navigate Bankgraph","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"destination":{"type":"string","maxLength":12,"enum":["home","research","institutions","economy","methods","bank"]},"question":{"type":"string","maxLength":500,"description":"Research question to place on the board."},"template":{"type":"string","maxLength":17,"enum":["blank","one_bank","peer_comparison","credit_stress","funding","geography","failure_analogues"],"description":"Optional research layout. Use blank when the agent should compose the board."},"fresh":{"type":"boolean"},"cert":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number when destination is bank."},"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999},"maxItems":10,"uniqueItems":true,"description":"FDIC certificate numbers to select on a research board."},"states":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2,"description":"Two-letter state code."},"maxItems":10,"uniqueItems":true},"assetMin":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Minimum assets in FDIC USD thousands."},"assetMax":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Maximum assets in FDIC USD thousands."},"asOf":{"type":"string","maxLength":8,"minLength":6,"description":"Quarter-end YYYYMMDD or YYYQn."}},"required":["destination"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b","/banks","/economy","/methods"]},{"name":"bankgraph.set_appearance","kind":"act","impl":"imperative","description":"Switch every Bankgraph surface in this browser between the day and night themes.","title":"Set appearance","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"theme":{"type":"string","maxLength":5,"enum":["light","dark"]}},"required":["theme"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/banks","/economy","/methods"]},{"name":"bankgraph.get_context","kind":"answer","impl":"imperative","description":"Read the current page, screen, selected banks, exact comparison pair, chart history, peer cohort, takeaways, watchlist intent, board presentation, data date, and revisions. Use this before editing and after a person changes the board.","title":"Read the current Bankgraph board context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.search_banks","kind":"answer","impl":"imperative","description":"Preview stored FDIC institutions without changing the workspace. Screen by name, state, activity, assets, and latest metrics. Returns 25 complete bank records by default and up to 50; a page shrinks only when needed to stay inside the serialized result budget. Pass nextCursor unchanged to traverse up to the first 1,000 ranked matches.","title":"Search US banks","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","maxLength":120},"states":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2,"description":"Two-letter US state or territory code."},"minItems":0,"maxItems":10,"uniqueItems":true},"active":{"type":"string","maxLength":8,"enum":["any","active","inactive"]},"assetMin":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Minimum total assets in FDIC USD thousands; 10,000,000 means $10B."},"assetMax":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Maximum total assets in FDIC USD thousands; 10,000,000 means $10B."},"conditions":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","maxLength":19,"enum":["assets","roa","roe","nim","deposits","loanToDeposit","noncurrentLoanRatio","tier1Ratio","employees","domesticOffices"],"description":"Assets and deposits use USD thousands; ratios use reported percent; offices and employees use counts."},"operator":{"type":"string","maxLength":7,"enum":["eq","ne","gt","gte","lt","lte","between"]},"value":{"type":"number","minimum":-100000,"maximum":100000000000000,"description":"Assets and deposits use FDIC USD thousands; 10,000,000 means $10B. Ratios use reported percent."},"upperValue":{"type":"number","minimum":-100000,"maximum":100000000000000,"description":"Upper bound in the selected metric's raw unit."}},"required":["metric","operator","value"],"additionalProperties":false},"minItems":0,"maxItems":12,"uniqueItems":true},"sort":{"type":"string","maxLength":19,"enum":["name","assets","roa","roe","nim","deposits","loanToDeposit","noncurrentLoanRatio","tier1Ratio","employees","domesticOffices"]},"order":{"type":"string","maxLength":4,"enum":["asc","desc"]},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Complete bank records requested for this page; defaults to 25."},"cursor":{"type":"string","maxLength":128,"description":"Opaque nextCursor from the previous page."}},"required":["query","states","active"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.read_current_screen","kind":"answer","impl":"imperative","description":"Read the exact current screen recipe and its ranked bank records without changing the workspace. Returns 25 complete records by default and up to 50, shrinking a page only when its serialized payload requires it. Each cursor is bound to the workspace revision, full filter definition, result revision, and visible ordering.","title":"Read the current bank screen","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageSize":{"type":"integer","minimum":1,"maximum":50,"description":"Complete bank records requested for this page; defaults to 25."},"cursor":{"type":"string","maxLength":128,"description":"Opaque nextCursor from the previous page."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.configure_screen","kind":"act","impl":"imperative","description":"Replace the visible question, bank screen, and result order. The matching institutions become the current analysis cohort in the same order, up to 200 banks. Read bankgraph.get_context first and pass its revision as ifRevision. Conditions use AND and exclude missing values. Assets and deposits use FDIC USD thousands: 10,000,000 means $10 billion.","title":"Configure the current bank screen","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"question":{"type":"string","maxLength":1000},"query":{"type":"string","maxLength":200},"states":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2,"description":"Two-letter US state or territory code."},"minItems":0,"maxItems":56,"uniqueItems":true},"active":{"type":"string","maxLength":8,"enum":["any","active","inactive"]},"assetMin":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Minimum total assets in FDIC USD thousands; 10,000,000 means $10B."},"assetMax":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Maximum total assets in FDIC USD thousands; 10,000,000 means $10B."},"conditions":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","maxLength":19,"enum":["assets","roa","roe","nim","deposits","loanToDeposit","noncurrentLoanRatio","tier1Ratio","employees","domesticOffices"],"description":"Assets and deposits use USD thousands; ratios use reported percent; offices and employees use counts."},"operator":{"type":"string","maxLength":7,"enum":["eq","ne","gt","gte","lt","lte","between"]},"value":{"type":"number","minimum":-100000,"maximum":100000000000000,"description":"Assets and deposits use FDIC USD thousands; 10,000,000 means $10B. Ratios use reported percent."},"upperValue":{"type":"number","minimum":-100000,"maximum":100000000000000,"description":"Upper bound in the selected metric's raw unit."}},"required":["metric","operator","value"],"additionalProperties":false},"minItems":0,"maxItems":12,"uniqueItems":true},"sort":{"type":"string","maxLength":19,"enum":["name","assets","roa","roe","nim","deposits","loanToDeposit","noncurrentLoanRatio","tier1Ratio","employees","domesticOffices"]},"order":{"type":"string","maxLength":4,"enum":["asc","desc"]},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["question","query","states","active","conditions","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.configure_comparison","kind":"act","impl":"imperative","description":"Change only the requested part of the live comparison and preserve everything else. Use bankMode add or remove for spoken follow-ups such as ‘add Citi’; replace is the default when certs are supplied. Metrics, dates, chart style, and focus are independently optional. Read bankgraph.get_context once after a person changes the board, then pass its revision.","title":"Edit the bank comparison","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"minItems":1,"maxItems":25,"uniqueItems":true},"bankMode":{"type":"string","maxLength":7,"enum":["keep","replace","add","remove"],"description":"How certs change the current banks. When omitted, supplied certs replace the selection; omitted certs keep it."},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Metric available in the linked workspace."},"minItems":1,"maxItems":6,"uniqueItems":true},"metricMode":{"type":"string","maxLength":7,"enum":["keep","replace","add","remove"],"description":"How metrics change the current measures. When omitted, supplied metrics replace them; omitted metrics keep them."},"asOfQuarter":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"comparisonMode":{"type":"string","maxLength":13,"enum":["prior-quarter","year-ago","range-start","custom"],"description":"Basis for the exact quarter compared with asOfQuarter."},"rangeStartQuarter":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"customQuarter":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"historyMode":{"type":"string","maxLength":5,"enum":["keep","set","clear"],"description":"Keep the chart window, replace it with historyFrom/historyTo, or clear it."},"historyFrom":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"historyTo":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"focusMode":{"type":"string","maxLength":5,"enum":["keep","set","clear"]},"activeCert":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"chartKind":{"type":"string","maxLength":4,"enum":["line","area"]},"chartScale":{"type":"string","maxLength":5,"enum":["value","index"]},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["ifRevision"],"additionalProperties":false,"minProperties":2},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.set_peer_cohort","kind":"act","impl":"imperative","description":"Replace the peer cohort recipe and exact exclusion list used by the comparison. Read bankgraph.get_context first and pass its revision as ifRevision. Latest-metric conditions use the same deterministic vocabulary and units as bank search.","title":"Define the peer cohort","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"name":{"type":"string","maxLength":120},"basis":{"type":"string","maxLength":11,"enum":["screen","asset-range","custom"]},"states":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2,"description":"Two-letter US state or territory code."},"minItems":0,"maxItems":56,"uniqueItems":true},"active":{"type":"string","maxLength":8,"enum":["any","active","inactive"]},"assetMin":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Minimum total assets in FDIC USD thousands; 10,000,000 means $10B."},"assetMax":{"type":"number","minimum":0,"maximum":100000000000000,"description":"Maximum total assets in FDIC USD thousands; 10,000,000 means $10B."},"conditions":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","maxLength":19,"enum":["assets","roa","roe","nim","deposits","loanToDeposit","noncurrentLoanRatio","tier1Ratio","employees","domesticOffices"],"description":"Assets and deposits use USD thousands; ratios use reported percent; offices and employees use counts."},"operator":{"type":"string","maxLength":7,"enum":["eq","ne","gt","gte","lt","lte","between"]},"value":{"type":"number","minimum":-100000,"maximum":100000000000000,"description":"Assets and deposits use FDIC USD thousands; 10,000,000 means $10B. Ratios use reported percent."},"upperValue":{"type":"number","minimum":-100000,"maximum":100000000000000,"description":"Upper bound in the selected metric's raw unit."}},"required":["metric","operator","value"],"additionalProperties":false},"minItems":0,"maxItems":12,"uniqueItems":true},"excludedCerts":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"minItems":0,"maxItems":250,"uniqueItems":true},"minimumPeers":{"type":"integer","minimum":0,"maximum":200},"maximumPeers":{"type":"integer","minimum":0,"maximum":200,"description":"WebMCP peer analyses support at most 200 banks per workspace."},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["name","basis","states","active","conditions","excludedCerts","minimumPeers","maximumPeers","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.read_current_cohort","kind":"answer","impl":"imperative","description":"Read the exact peer-cohort definition and complete member records. Returns 25 complete records by default and up to 50, shrinking only when required by the serialized result budget. Counts, coverage, freshness, and the cursor remain tied to the exact definition.","title":"Read the current peer cohort","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"section":{"type":"string","maxLength":17,"enum":["members","states","conditions","excluded_certs","screen_states","screen_conditions"]},"pageSize":{"type":"integer","minimum":1,"maximum":50,"description":"Complete records requested in the selected section; defaults to 25."},"cursor":{"type":"string","maxLength":128,"description":"Opaque nextCursor from the previous page."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.analyze_cohort_change","kind":"act","impl":"imperative","description":"Compare one to six canonical measures across any two reporting quarters for the current workspace cohort. Publishes per-measure coverage, breadth, distributions, matched totals where addition is valid, gross movement, concentration, movers, and optional group movement into the visible workspace. Membership is held fixed across both quarters. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.","title":"Explain change across the current cohort","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"from":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"to":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Metric available in the linked workspace."},"minItems":1,"maxItems":6,"uniqueItems":true},"groupBy":{"type":"string","maxLength":12,"enum":["none","state","asset_bucket"]},"groupPageSize":{"type":"integer","minimum":1,"maximum":50,"description":"Groups requested in this response; defaults to 25."},"groupCursor":{"type":"string","maxLength":128,"description":"Opaque group cursor from the previous response."},"boardBlockId":{"type":"string","maxLength":64,"description":"Stable visible board view ID."},"boardTitle":{"type":"string","maxLength":160,"description":"Visible board view title."},"boardView":{"type":"string","maxLength":12,"enum":["summary","breadth","distribution","movers","waterfall","exact_table"]},"boardSpan":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."},"boardFocus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["from","to","metrics","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.find_temporal_patterns","kind":"act","impl":"imperative","description":"Apply one declared multi-quarter predicate to one to three canonical measures for every current workspace cohort member. Supports k-of-n direction, streaks, cumulative change, acceleration or deceleration, and threshold crossings. Publishes matches with exact periods, coverage, trigger quarters, and bounded series. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.","title":"Find multi-quarter patterns","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Metric available in the linked workspace."},"minItems":1,"maxItems":3,"uniqueItems":true},"startPeriod":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"endPeriod":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"requiredPeriods":{"type":"array","items":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"minItems":2,"maxItems":40,"uniqueItems":true},"pattern":{"type":"string","maxLength":19,"enum":["direction_count","consecutive_streak","cumulative_change","change_acceleration","threshold_cross"]},"direction":{"type":"string","maxLength":12,"enum":["increase","decrease","accelerating","decelerating","above","below"]},"atLeast":{"type":"integer","minimum":1,"maximum":159},"minimumIntervals":{"type":"integer","minimum":1,"maximum":159},"operator":{"type":"string","maxLength":3,"enum":["gt","gte","lt","lte","eq"]},"threshold":{"type":"number","minimum":-1000000000000,"maximum":1000000000000},"minimumObservations":{"type":"integer","minimum":2,"maximum":160},"gapPolicy":{"type":"string","maxLength":16,"enum":["require_complete","allow_missing"]},"tolerance":{"type":"number","minimum":0,"maximum":1000000000},"pageSize":{"type":"integer","minimum":1,"maximum":50,"description":"Matched banks requested; defaults to 25."},"cursor":{"type":"string","maxLength":128,"description":"Opaque matched-bank cursor from the previous response."},"boardBlockId":{"type":"string","maxLength":64,"description":"Stable visible board view ID."},"boardTitle":{"type":"string","maxLength":160,"description":"Visible board view title."},"boardView":{"type":"string","maxLength":15,"enum":["summary","matched_banks","small_multiples","timeline","exact_table"]},"boardSpan":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["metrics","pattern","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.analyze_financial_composition","kind":"act","impl":"imperative","description":"Analyze asset, funding, or loan mix for one selected bank, all selected banks, or the current workspace cohort. Uses ratios of sums over the same complete reporters, shows the loan-basis residual, and can compare quarters on a matched-reporter basis. Publishes the exact composition. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.","title":"Analyze financial composition","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"composition":{"type":"string","maxLength":11,"enum":["asset_mix","funding_mix","loan_mix"]},"scope":{"type":"string","maxLength":14,"enum":["selected_bank","selected_banks","current_cohort"]},"cert":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"period":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"compareFrom":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"boardBlockId":{"type":"string","maxLength":64,"description":"Stable visible board view ID."},"boardTitle":{"type":"string","maxLength":160,"description":"Visible board view title."},"boardView":{"type":"string","maxLength":19,"enum":["summary","stacked_composition","change_waterfall","exact_table"]},"boardSpan":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."},"boardFocus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["composition","scope","period","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.analyze_failure_patterns","kind":"act","impl":"imperative","description":"Build an exact-quarter event study for FDIC-reported failures, then rank the full eligible active-bank universe by descriptive trajectory similarity. The limit controls only returned analogues. This reusable visible view does not estimate failure probability or forecast. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.","title":"Compare historical failure trajectories","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"startYear":{"type":"integer","minimum":1934,"maximum":2099},"endYear":{"type":"integer","minimum":1934,"maximum":2099},"quarters":{"type":"integer","minimum":4,"maximum":12},"limit":{"type":"integer","minimum":1,"maximum":100},"boardBlockId":{"type":"string","maxLength":64,"description":"Stable visible board view ID."},"boardTitle":{"type":"string","maxLength":160,"description":"Visible board view title."},"boardView":{"type":"string","maxLength":11,"enum":["both","event_study","analogues"]},"boardSpan":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."},"boardFocus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.read_research_board","kind":"answer","impl":"imperative","description":"Read the exact visible answer order, focus, titles, spans, semantic bindings, and valid configuration fields on the current Bankgraph research board. The default is a fast structure-only read; then use bankgraph.read_board_block for exact data from each needed view. includeData focused or all is an optional bounded overview whose requested page size may be reduced to fit, without limiting continuation through read_board_block. No screenshot or DOM reading is needed.","title":"Read the research board","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"includeData":{"type":"string","maxLength":7,"enum":["none","focused","all"],"description":"Optional bounded exact-data overview. none (default) reads structure and per-view read affordances; focused reads one view; all samples every visible view. For complete data, follow with read_board_block."},"pageSize":{"type":"integer","minimum":1,"maximum":10,"description":"Requested values per visible view for the bounded overview; defaults to 2 and may be reduced to fit. Use bankgraph.read_board_block for up to 100 rows and continuation cursors."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.read_board_block","kind":"answer","impl":"imperative","description":"Read one visible board view and a page of the exact source data behind it: rows, series, groups, components, members, or analogues. This is the semantic data used to draw the live view, not a screenshot. Failure analogue details default to 5 complete bank trajectories per page and support up to 10; other sections default to 25 and support up to 100.","title":"Read one board view","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockId":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"section":{"type":"string","maxLength":32},"pageSize":{"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","maxLength":160}},"additionalProperties":false,"required":["blockId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.list_board_templates","kind":"answer","impl":"imperative","description":"List the same curated research-board starting points available to a person in Bankgraph. Templates contain semantic live views and source-bound history, never copied result rows.","title":"List research board templates","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.apply_board_template","kind":"act","impl":"imperative","description":"Build one curated live board from the current selected banks, measures, and history window. Append it to the current board or replace the board; the same template is available in the human interface.","title":"Apply a research board template","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"templateId":{"type":"string","maxLength":17,"enum":["one_bank","peer_comparison","credit_stress","funding","geography","failure_analogues"]},"mode":{"type":"string","maxLength":7,"enum":["append","replace"]},"idPrefix":{"type":"string","maxLength":32,"description":"Optional stable prefix used only by legacy board hosts.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"focus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."},"ifPresentationRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Board presentation revision from bankgraph.read_research_board."}},"additionalProperties":false,"required":["templateId","mode","focus","ifRevision","ifPresentationRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.add_workspace_view","kind":"act","impl":"imperative","description":"Add or replace one live semantic workspace view on the research board. The binding follows the current comparison, banks, metrics, cohort, geography, or economic context as the shared workspace changes; it never stores snapshot rows. Choose quarter, half, three-quarter, or full width on the 12-column board.","title":"Add a live workspace view","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockId":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"title":{"type":"string","maxLength":160,"description":"Visible, natural-language view title."},"view":{"type":"string","maxLength":22,"enum":["comparison_matrix","metric_history","peer_distribution","change_attribution","metric_relationship","headquarters_geography","economic_context","bank_context"],"description":"Live semantic workspace view. Its current values are rendered from shared workspace state, not persisted snapshot rows."},"span":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."},"focus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."}},"additionalProperties":false,"required":["blockId","title","view","span","focus","ifRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.plot_metric_history","kind":"act","impl":"imperative","description":"Publish a source-bound bank history chart on the visible research board. The view stores bank certificates, canonical measures, dates, and presentation choices; Bankgraph loads the reported values. Choose quarter, half, three-quarter, or full width on the 12-column board according to the comparison density.","title":"Plot bank metric history","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockId":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"title":{"type":"string","maxLength":160,"description":"Visible, natural-language view title."},"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999},"maxItems":25,"minItems":1},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"]},"maxItems":6,"minItems":1},"from":{"type":"string","maxLength":8},"to":{"type":"string","maxLength":8},"chartKind":{"type":"string","maxLength":4,"enum":["line","area"]},"scale":{"type":"string","maxLength":5,"enum":["value","index"]},"span":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."},"focus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."}},"additionalProperties":false,"required":["blockId","title","certs","metrics","from","to","chartKind","scale","span","focus","ifRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.publish_exact_table","kind":"act","impl":"imperative","description":"Publish a horizontally scrollable exact bank-by-measure table into the visible research board. Choose fixed reporting endpoints or follow the workspace comparison; Bankgraph loads reported values from the published data. Quarter and half widths pack beside related views; three-quarter and full widths suit denser tables.","title":"Publish an exact bank table","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockId":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"title":{"type":"string","maxLength":160,"description":"Visible, natural-language view title."},"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999},"maxItems":25,"minItems":1},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"]},"maxItems":6,"minItems":1},"followCurrent":{"type":"boolean"},"from":{"type":"string","maxLength":8},"to":{"type":"string","maxLength":8},"span":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."},"focus":{"type":"boolean"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."}},"additionalProperties":false,"required":["blockId","title","certs","metrics","followCurrent","span","focus","ifRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.upsert_takeaway","kind":"act","impl":"imperative","description":"Add or replace one plain-text takeaway on the visible board. The text must refer to at least one existing board view and cannot contain executable markup or numerical arrays. Choose quarter, half, three-quarter, or full width on the 12-column board.","title":"Add or edit a takeaway","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockId":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"title":{"type":"string","maxLength":160,"description":"Visible, natural-language view title."},"text":{"type":"string","maxLength":4000},"referenceBlockIds":{"type":"array","items":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"maxItems":24,"minItems":1},"span":{"type":"string","maxLength":13,"enum":["quarter","half","three_quarter","full"],"description":"Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."}},"additionalProperties":false,"required":["blockId","title","text","referenceBlockIds","span","ifRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.arrange_research_board","kind":"act","impl":"imperative","description":"Set the complete answer order exactly once. Every current view ID must appear exactly once. Focus can be kept, cleared, or set in the same atomic workspace revision.","title":"Arrange the research board","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"orderedBlockIds":{"type":"array","items":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"maxItems":24},"focusMode":{"type":"string","maxLength":5,"enum":["keep","clear","set"]},"focusedBlockId":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."}},"additionalProperties":false,"required":["orderedBlockIds","focusMode","ifRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.configure_board_view","kind":"act","impl":"imperative","description":"Change only the requested part of an existing view and preserve everything else. First read bankgraph.read_research_board and use that block's configurationAffordances. Bank, measure, and period sources are independent: supplying certs, metrics, or dates fixes only that anchor. Set bankSource to workspace to apply current and future workspace banks without changing the view's measures or periods. followWorkspace remains a shorthand for reconnecting or fixing every anchor. Revision guards are optional because every field is an exact, idempotent setting.","title":"Edit a board view","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockId":{"type":"string","maxLength":64,"description":"Existing block ID from read_research_board; consult its configurationAffordances entry before choosing fields.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"title":{"type":"string","maxLength":160,"description":"Visible, natural-language view title."},"width":{"type":"string","maxLength":13,"enum":["auto","quarter","half","three_quarter","full"],"description":"Valid for every view."},"height":{"type":"string","maxLength":8,"enum":["standard","tall"],"description":"Valid for every view."},"role":{"type":"string","maxLength":13,"enum":["auto","lead","support","contrast","reference","multiples","context","investigation"],"description":"Valid for every view."},"focus":{"type":"boolean","description":"Use true to focus this view. Use false to clear focus when this view is focused."},"presentation":{"type":"string","maxLength":9,"enum":["auto","primary","multiples"],"description":"Source-bound history views only; chooses one primary measure or small multiples."},"followWorkspace":{"type":"boolean","description":"Compatibility shorthand for all anchors. true reconnects banks, measures, and periods and cannot be combined with fixed values; false fixes all three at their current effective values and may include replacement values."},"bankSource":{"type":"string","maxLength":9,"enum":["workspace","fixed"],"description":"workspace applies current and future workspace banks to this view; fixed keeps its current effective banks unless certs is also supplied."},"metricSource":{"type":"string","maxLength":9,"enum":["workspace","fixed"],"description":"workspace follows workspace measures; fixed keeps the current effective measures unless metrics is also supplied."},"periodSource":{"type":"string","maxLength":9,"enum":["workspace","fixed"],"description":"workspace follows workspace periods; fixed keeps current effective periods unless date fields are also supplied."},"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999},"maxItems":25,"description":"Fix only the bank anchor for a data-bearing view. Do not send with bankSource=workspace."},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"]},"maxItems":6,"description":"Fix only the measure anchor for a data-bearing view. Do not send with metricSource=workspace."},"asOf":{"type":"string","maxLength":8,"description":"Fix the point-in-time reporting period without changing bank or measure sources. Do not send with periodSource=workspace."},"compareWith":{"type":"string","maxLength":8,"description":"Fix the comparison period without changing bank or measure sources. Do not send with periodSource=workspace."},"historyFrom":{"type":"string","maxLength":8,"description":"Source-bound history views only."},"historyTo":{"type":"string","maxLength":8,"description":"Source-bound history views only."},"chartKind":{"type":"string","maxLength":4,"enum":["line","area"],"description":"Source-bound history views only."},"scale":{"type":"string","maxLength":5,"enum":["value","index"],"description":"Source-bound history views only."},"view":{"type":"string","maxLength":19,"enum":["summary","breadth","distribution","movers","waterfall","matched_banks","small_multiples","timeline","stacked_composition","change_waterfall","both","event_study","analogues","event_trajectories","analogue_table","exact_table"],"description":"Stored analysis views only. Use that block's configurationAffordances.viewValues; compatible values depend on result kind."},"sortMetric":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Source-bound exact-table views only."},"sortBasis":{"type":"string","maxLength":6,"enum":["level","change"],"description":"Source-bound exact-table views only."},"sortDirection":{"type":"string","maxLength":4,"enum":["asc","desc"],"description":"Source-bound exact-table views only."},"series":{"type":"array","items":{"type":"string","maxLength":19,"enum":["UST10Y2Y","BLS_UNRATE","FRB_FEDFUNDS","UST2Y","UST10Y","BLS_CPI_YOY","FRB_H8_BANK_CREDIT","FRB_H8_LOANS_LEASES","FRB_H8_DEPOSITS","FRB_H8_REAL_ESTATE","FRB_H8_CI_LOANS","FRB_H8_CRE","FRB_H8_CONSUMER"]},"maxItems":3,"minItems":1,"description":"Live economic_context workspace views only."},"xMetric":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Live metric_relationship workspace views only."},"yMetric":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Live metric_relationship workspace views only."},"geographyMode":{"type":"string","maxLength":6,"enum":["count","assets","median"],"description":"Live headquarters_geography workspace views only."},"attributionMode":{"type":"string","maxLength":18,"enum":["assets","funding","quarterlyNetIncome","loanToDeposit"],"description":"Live change_attribution workspace views only."},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."},"ifPresentationRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Board presentation revision from bankgraph.read_research_board."}},"additionalProperties":false,"required":["blockId"],"minProperties":2},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.remove_board_blocks","kind":"act","impl":"imperative","description":"Remove one or more visible board views by stable ID. A retry after those views are already absent is a successful no-op.","title":"Remove board views","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"blockIds":{"type":"array","items":{"type":"string","maxLength":64,"description":"Stable caller-supplied board view ID.","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"},"maxItems":24,"minItems":1},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."}},"additionalProperties":false,"required":["blockIds","ifRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.clear_research_board","kind":"act","impl":"imperative","description":"Remove every visible board view in one operation while retaining the selected banks, cohort, measures, and period. The human interface offers the same recoverable clear action.","title":"Clear the research board","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."},"ifPresentationRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Board presentation revision from bankgraph.read_research_board."}},"additionalProperties":false,"required":["ifRevision","ifPresentationRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.reset_board_layout","kind":"act","impl":"imperative","description":"Keep every view and analytical selection, but return the board to its automatic layout, default view sizes, default time ruler, and no focused view.","title":"Reset the board layout","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."},"ifPresentationRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Board presentation revision from bankgraph.read_research_board."}},"additionalProperties":false,"required":["ifRevision","ifPresentationRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.reset_research_board","kind":"act","impl":"imperative","description":"Clear the board and its research question, selected banks, cohort, measures, dates, saved findings, and analysis results in one exact operation. The product-level watchlist is retained.","title":"Start a fresh research board","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Workspace revision from bankgraph.get_context."},"ifPresentationRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Board presentation revision from bankgraph.read_research_board."}},"additionalProperties":false,"required":["ifRevision","ifPresentationRevision"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.set_appearance","kind":"act","impl":"imperative","description":"Set Bankgraph to its day or night appearance. This changes the same visible theme control a person uses and is exact rather than a non-idempotent toggle.","title":"Set the board appearance","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"theme":{"type":"string","maxLength":5,"enum":["light","dark"]}},"additionalProperties":false,"required":["theme"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.rank_cohort_on_board","kind":"act","impl":"imperative","description":"Rank the current cohort by one reported measure, select up to 10 banks from either tail, and optionally replace the board with exact values, histories, a peer distribution, and a relationship view. Use this for questions such as which banks have the highest loan-to-deposit ratio when bank names are not known in advance. The full cohort remains the benchmark behind the selected answer set. Read bankgraph.get_context first and pass its revision as ifRevision.","title":"Rank a cohort by a measure and build a board","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"metric":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Metric available in the linked workspace."},"direction":{"type":"string","maxLength":7,"enum":["highest","lowest"]},"bankCount":{"type":"integer","minimum":1,"maximum":10,"description":"Number of ranked banks to place on the board."},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Metric available in the linked workspace."},"minItems":1,"maxItems":6,"uniqueItems":true},"question":{"type":"string","maxLength":1000,"description":"Optional board title or research question."},"boardMode":{"type":"string","maxLength":7,"enum":["replace","keep"],"description":"Replace the current views with a comparison board, or keep its views."},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["metric","direction","bankCount","boardMode","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.read_metric_history","kind":"answer","impl":"imperative","description":"Read exact quarterly values for up to ten requested banks and forty reporting periods. Returns all requested bank series by default with aligned periods, missing values, raw units, and source field; an explicitly smaller page can continue with nextCursor.","title":"Read bank metric history","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"metric":{"type":"string","maxLength":10,"enum":["asset","lnlsnet","eq","roa","roe","nimy","eeffr","netinc","dep","loanGrowth","lnlsdepr","othbfhlb","nclnlsr","nco_ratio","lnatresr","rbc1rwaj","rbcrwaj","rbc1aaj","eqv","numemp","offdom"],"description":"Metric available in the linked workspace."},"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"minItems":1,"maxItems":10,"uniqueItems":true},"periods":{"type":"integer","minimum":1,"maximum":40},"endingAt":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"pageSize":{"type":"integer","minimum":1,"maximum":10,"description":"Complete bank series requested; defaults to every requested bank."},"cursor":{"type":"string","maxLength":128,"description":"Opaque nextCursor from the previous page."}},"required":["metric","certs","periods"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.inspect_change","kind":"answer","impl":"imperative","description":"Explain a reported change across consecutive quarters. Workspace metrics return supported endpoint evidence; assets, quarterly net income, and loan-to-deposit ratio also return component bridges. Results include units, method, provenance, available peer movement, and any FDIC structural event mapped to the certificate inside the comparison window.","title":"Explain a bank metric change","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"cert":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"metric":{"type":"string","maxLength":10,"enum":["asset","dep","roa","nimy","loanGrowth","nclnlsr","lnlsdepr","netinc"],"description":"Metric with a deterministic quarter bridge."},"from":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"to":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"peerRelative":{"type":"boolean"},"maxComponents":{"type":"integer","minimum":1,"maximum":8}},"required":["cert","metric","from","to","peerRelative","maxComponents"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.investigate_bank","kind":"act","impl":"imperative","description":"Open a linked, multi-metric investigation for one bank across two consecutive reporting quarters. The operation configures the visible workspace, then returns deterministic metric changes, reported component bridges, peer-relative evidence, mapped structural events, and optional direct-agency economic context. Read bankgraph.get_context first and pass its revision as ifRevision.","title":"Investigate a bank across reported measures","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"cert":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"comparisonCerts":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"minItems":0,"maxItems":4,"uniqueItems":true},"metrics":{"type":"array","items":{"type":"string","maxLength":10,"enum":["asset","dep","roa","nimy","loanGrowth","nclnlsr","lnlsdepr","netinc"],"description":"Metric with a deterministic quarter bridge."},"minItems":2,"maxItems":6,"uniqueItems":true},"from":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"to":{"type":"string","minLength":6,"maxLength":8,"pattern":"^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$","description":"Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."},"historyPeriods":{"type":"integer","minimum":4,"maximum":12,"description":"Quarterly observations to show in the linked history view."},"peerRelative":{"type":"boolean"},"includeMacro":{"type":"boolean"},"maxComponents":{"type":"integer","minimum":1,"maximum":4,"description":"Largest reported components to return for each supported bridge."},"depth":{"type":"string","maxLength":6,"enum":["guided","pro"]},"question":{"type":"string","maxLength":1000},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["cert","metrics","from","to","peerRelative","includeMacro","ifRevision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.share_or_export","kind":"act","impl":"imperative","description":"Create a live workspace link that replays the current choices against published data, a public workspace-state JSON artifact, or a release-fenced bank-data CSV. certs is valid only with bank_csv; share_link and workspace_json always use the current workspace and must omit certs.","title":"Copy a live link or export data","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"format":{"type":"string","maxLength":14,"enum":["share_link","workspace_json","bank_csv"],"description":"share_link and workspace_json use the current workspace and reject certs; bank_csv accepts optional certs or uses the selected banks."},"certs":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999999,"description":"FDIC certificate number."},"minItems":0,"maxItems":10,"uniqueItems":true,"description":"bank_csv only. Omit for share_link and workspace_json."},"ifRevision":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Only apply if the workspace still has this revision."}},"required":["format"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/b"]},{"name":"bankgraph.read_bank_directory","kind":"answer","impl":"imperative","description":"Read the filters, ordering, pagination, and a bounded set of results visible in the bank directory.","title":"Read the current bank directory","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":10,"description":"Visible banks to return from the current page."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/banks","pages":["/banks"]},{"name":"bankgraph.open_directory_bank","kind":"act","impl":"imperative","description":"Open one bank from the visible directory page in the shared research workspace. The certificate number must belong to a current visible result.","title":"Open a directory bank in the workspace","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"cert":{"type":"integer","minimum":1,"maximum":100000000,"description":"FDIC certificate number from the current visible page."}},"required":["cert"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/banks","pages":["/banks"]},{"name":"bankgraph.open_directory_screen","kind":"act","impl":"imperative","description":"Carry the directory's current question, filters, ordering, and matching cohort into the shared workspace. Existing map and peer exclusions are cleared so the workspace opens the same bank population.","title":"Open this bank screen in the workspace","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/banks","pages":["/banks"]},{"name":"bankgraph.read_macro_evidence","kind":"act","impl":"imperative","description":"Read bounded observations and agency provenance for macro series loaded in this banking view.","title":"Read macro evidence","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"seriesIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":64},"minItems":1,"maxItems":3,"uniqueItems":true,"description":"Loaded series IDs, such as FRB_FEDFUNDS, UST10Y2Y, or BLS_UNRATE."},"limit":{"type":"integer","minimum":1,"maximum":8,"description":"Recent observations per series."}},"required":["seriesIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/economy","pages":["/economy"]},{"name":"bankgraph.read_macro_bank_relationships","kind":"act","impl":"imperative","description":"Read the fixed-plan contemporaneous co-movement results shown in the macro view.","title":"Read macro-bank relationships","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/economy","pages":["/economy"]},{"name":"bankgraph.open_in_workspace","kind":"act","impl":"imperative","description":"Carry the evidence visible on this page into the shared Bankgraph workspace, then open the workspace.","title":"Open this evidence in the workspace","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/economy","pages":["/economy"]}],"category":"Finance & Crypto","favicon":"/favicons/bankgraph.app.png","apiSurface":"spec","toolCount":41}}