Validate Studio Opportunity
Pre-submit smoke test for a Studio → User opportunity draft (AI-7498).
Runs the full publish gates WITHOUT inserting: the primary resource must verify against tenant inventory, the description must be a description rather than a placeholder, and the estimated savings must be bounded by the resource's actual last-30-day spend — cross-checked against the anchoring analysis turn when the session has one, and against the resource's measured spend when it does not.
Blocking failures come back as HTTP 422 with the same per-field {code, message} shape as submit, so the form reuses its error parser. A pass returns the non-blocking warnings plus savings: the looked-up monthly spend, which evidence source was used, and the claim as a share of spend. NO ClickHouse insert, no side effects.
Submit runs the identical gate, so a client cannot bypass these checks by skipping validate.
Query parameters
Request body
Response
Successful Response