Overview
The Pulse API lets you answer three 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 Dow Jones article affect my holdings?” — Fetch a pre-computed article scenario and calculate its portfolio exposure.
- “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.
If you only need to rank articles by their relevance to a portfolio, use Article Portfolio Relevance. It returns a comparable score without generating the scenario tree or per-security scenario returns.
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: Analyze a Pre-Computed Dow Jones Article
Dow Jones articles are processed into article scenarios after ingestion. Once you have the scenariopoint_id, fetch the article’s timeline, probability tree, macro and company shocks, related securities, and optional portfolio exposure:
{id} must be the article scenario’s point_id, such as the value returned by the search endpoint in Step 4. It is not the source Dow Jones article ID. The current public endpoint does not resolve a raw Dow Jones article ID directly.
When portfolio_weights is provided, the response includes portfolio_exposure with probability-weighted expected return, median absolute return, and per-leaf portfolio returns. When aggregate_scenarios is true, the per-leaf detail is replaced by scenario-level mean and standard-deviation summaries.
If your integration warms the user’s portfolio data before this request, retain the resulting weights and include them as
portfolio_weights. This endpoint currently accepts portfolio weights rather than a user ID.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: