Skip to main content
POST
Run War Room Scenario
Gated by the live, per-user feature flag deals_war_room403 when disabled for the caller. Synchronous (unlike the brief/competitive-intelligence generators) — creates a pending scenario row, runs the simulation inline against the deal’s saved war-room context (building one on the fly if none exists), and updates the row to completed or failed before returning.

Auth

Requires a CRM manage scope and an active organization on the token. Any *:manage scope qualifies — in practice contacts:manage, deals:manage, companies:manage, or activities:manage.

Response

201 with the completed scenario row — same shape as List Scenarios. scenario_result shape: {title, summary, currentState: {winProbability, coalitionStrength, riskLevel}, branches: [{id, label, probability, sentiment, winProbability, coalitionStrength, riskLevel, stakeholderShifts: [{name, fromStance, toStance, reason}], counterMove, keyRisks, subBranches: [...] (recursive, up to depth 2)}], recommendedPath, recommendedCounterMoves: [{priority, action, timing, rationale}]} Simulated via Anthropic when configured (falling back to a deterministic 3-branch stub scenario otherwise, or on invalid LLM JSON). Every branch’s winProbability is clamped to within ±35 points of the deal’s current win_probability, so a single scenario can’t swing from e.g. 30% to 90%.

Errors

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

deal_id
string
required

The deal's id.

Body

application/json
actions
WarRoomScenarioActionIn · object[]
required

One or more hypothesized stakeholder actions to simulate together.

Minimum array length: 1
title
string | null

Scenario title; defaults to the first action's text when omitted.

Response

Successful Response