Overview
The Backchannel API lets you answer two core questions about a portfolio:- “What would happen to my portfolio if X occurred?” — Describe any scenario in plain English and get a probability-weighted impact analysis.
- “How does this news event affect my holdings?” — Search curated news scenarios and compute portfolio exposure against them.
- “What happens if macro conditions change?” — Run what-if analysis with specific macro factor shocks (USD strength, oil prices, etc.).
tilt_asset_id → weight. This guide walks through resolving tickers, building portfolio weights, and calling the scenario and risk endpoints.
Step 1: Resolve Tickers to Tilt Asset IDs
All portfolio-related endpoints accept weights keyed by Tilt Asset ID — an internal identifier for each security. Use the Search Tickers endpoint to resolve symbols.A symbol may return multiple results across exchanges (e.g. NAS and TSE listings). Filter by
ticker_type: "common_stock" and the relevant exchange to get the primary US listing.tilt_asset_id from each result.
View API Reference →
Step 2: Build Portfolio Weights
Construct aportfolio_weights object mapping each tilt_asset_id to a decimal weight (summing to 1.0):
Weights should sum to 1.0. If they don’t, the API will still work but exposure calculations will be proportional to the weights provided.
portfolio_weights object is reused across all the endpoints below.
Step 3: Scenario Portfolio Analysis
The simplest way to analyze portfolio impact. Describe any scenario in plain English and the API generates a probability tree of outcomes with portfolio-level returns.Recommended: Use flat_scenarios mode
We recommend using flat_scenarios: true for most integrations. This generates a clean, single-level structure where each scenario directly contains its macro shocks — no nested sub-scenarios to traverse. The result is simpler to parse and display.
Key parameters
Caching behavior
Scenario generation results are automatically cached. The first call for a given scenario generates fresh results (10–15 seconds). All subsequent calls with the samescenario_description, as_of_date, search_for_context, and flat_scenarios combination return cached results in under 1 second.
The cache is keyed on these four parameters. The portfolio weights are not part of the cache key — portfolio impact computation happens after scenario generation, so a single cached scenario tree can be reused for any portfolio instantly.
Use force_regenerate: true to bypass the cache if you need fresh results for an already-cached scenario.
Response structure
The response includes an AI-generated scenario tree, leaf-level portfolio impacts, and a probability-weighted expected return:When
flat_scenarios: true, each scenario in scenario_tree contains its macro_shocks directly (no sub_scenarios), and leaf_scenarios has one entry per scenario. When flat_scenarios: false (default), scenarios have nested sub_scenarios and leaf_scenarios contains one entry per sub-scenario with joint probabilities.This endpoint uses AI to generate scenarios on first encounter (~10–15 seconds). Cached scenarios return in under 1 second. For instant results on pre-computed news scenarios, use the Search Scenarios endpoint below instead.
Flat vs. hierarchical scenarios
Step 4: Search News Scenarios with Portfolio Exposure
Search for curated, pre-computed news scenarios and see how each one affects your portfolio. This is instant (no AI generation) and useful for browsing recent events.Key parameters
At least one of
queries or subject_code must be provided. Sending an empty request body will return a 422 Validation Error.Response structure
The response wraps results inarticles. Each article is a news scenario with timeline, probability tree, and (when portfolio_weights is provided) portfolio exposure:
portfolio_exposure:
View API Reference →
Step 5: Get a Single Scenario with Portfolio Exposure
Once you have apoint_id from search results, fetch its full detail with portfolio exposure:
aggregate_scenarios is false, the response includes leaf_details and scenario_level_details within portfolio_exposure, giving you the full probability tree with per-leaf portfolio returns.
View API Reference →
Step 6: Macro Factor Analysis
Get Macro Sensitivities
Understand which macro factors your portfolio is most exposed to:Run a Macro Scenario
Use the sensitivities output to stress-test with specific macro shocks. Theshocks object maps factor identifiers to shock magnitudes in standard deviations.
The sensitivities endpoint returns factor names with a
macro_ prefix (e.g. macro_DTWEXBGS). When passing shocks to the scenario endpoint, drop the prefix — use the raw identifier (e.g. DTWEXBGS).Putting It Together
A typical integration flow:- Resolve tickers once and cache the
tilt_asset_idmapping. - Run scenario portfolio analysis with a plain English description to quickly assess portfolio impact for any hypothetical event. Use
flat_scenarios: truefor the simplest response structure. This is the easiest starting point. - Search news scenarios with
portfolio_weightsto find real-world events that matter to the portfolio. Useorder_by_exposure: trueto surface the highest-impact stories first. - Fetch individual scenarios with
portfolio_weightsfor detailed drill-down with leaf-level probability breakdowns. - Get macro sensitivities to understand the portfolio’s factor exposures.
- Run macro scenarios to stress-test against specific factor shocks (e.g., “what if the US Dollar Index rises 0.5 standard deviations?”).
Rate Limits
All endpoints are rate-limited at 120 requests per minute per API key. Thescenario_portfolio_analysis endpoint has an additional limit of 10 requests per minute to protect the AI generation backend.
If you exceed the limit, you’ll receive a 429 Too Many Requests response: