Records a change to the assumptions with its what-if preview and
returns a chg_… id. Nothing runs until the change is confirmed
with POST /v1/underwriting-changes/{change_id}/confirm — show the
change to your user first. A pending change expires after 30
minutes.
Act for one of your end users (the end_user_ref you pass when
creating underwritings). Limits every underwriting, document and
extraction call to that user's resources. Required on MCP
connections once your account serves end users.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cactus Partner API","colors":{"primary":"#0E7C5B","light":"#34D399","dark":"#0A5C44"},"navbar":{"primary":{"type":"button","label":"Need API keys?","href":"https://www.trycactus.com/api-access"}},"footer":{"socials":{"website":"https://trycactus.com"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cactus-10e55128","hasAudioNarration":false,"actualSubdomain":"cactus-10e55128","customDomains":["docs.trycactus.com"],"gitSource":{"type":"github","owner":"trycactus","repo":"cactus-partner-api","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aef868e69e61846fb384f36","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API Reference","count":34},{"language":"default","tag":"Underwritings","count":13},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Getting started","count":6},{"language":"default","tag":"Documents","count":5},{"language":"default","tag":"Reference","count":4},{"language":"default","tag":"Extractions","count":4},{"language":"default","tag":"Webhook Endpoints","count":3},{"language":"default","tag":"Usage","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/underwritings/request-a-change-to-a-finished-report","slug":"/api-reference/underwritings/request-a-change-to-a-finished-report","pageMetadata":{"title":"Request a change to a finished report","description":"Records a change to the assumptions with its what-if preview and\nreturns a `chg_…` id. Nothing runs until the change is confirmed\nwith `POST /v1/underwriting-changes/{change_id}/confirm` — show the\nchange to your user first. A pending change expires after 30\nminutes.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwritings/{underwriting_id}/changes","href":"/api-reference/underwritings/request-a-change-to-a-finished-report","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Records a change to the assumptions with its what-if preview and\\nreturns a \", _jsx(_components.code, {\n children: \"chg_…\"\n }), \" id. Nothing runs until the change is confirmed\\nwith \", _jsx(_components.code, {\n children: \"POST /v1/underwriting-changes/{change_id}/confirm\"\n }), \" — show the\\nchange to your user first. A pending change expires after 30\\nminutes.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Request a change to a finished report","description":"Records a change to the assumptions with its what-if preview and\nreturns a `chg_…` id. Nothing runs until the change is confirmed\nwith `POST /v1/underwriting-changes/{change_id}/confirm` — show the\nchange to your user first. A pending change expires after 30\nminutes.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwritings/{underwriting_id}/changes","href":"/api-reference/underwritings/request-a-change-to-a-finished-report","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"requestUnderwritingChange","tags":["Underwritings"],"summary":"Request a change to a finished report","description":"Records a change to the assumptions with its what-if preview and\nreturns a `chg_…` id. Nothing runs until the change is confirmed\nwith `POST /v1/underwriting-changes/{change_id}/confirm` — show the\nchange to your user first. A pending change expires after 30\nminutes.\n","requestBody":"4250c02d-7e7e-4aa1-bdab-23e6a4ecbfce","responses":{"201":"e22afbb7-cac0-4225-aa2b-9c29aa2ea50c","400":"7252f8ae-4605-4e79-a6ca-566abedd0905","403":"dcc4ccc8-55ff-4f2a-be1b-ab21f4dc386d","404":"495521c5-553e-408f-953b-ce56f2741a7e","409":"db911849-0370-4bff-818c-3ce585d99e0b","422":"2fd71345-8c2b-4607-a837-92430164d0fd","503":"653f1fce-a12f-4592-85c6-28b2783d12ee"},"method":"post","type":"path","servers":["1a16f6a0-bda6-4bf3-9c8b-84185a6fb93b"],"security":["2297ff2f-d9c9-4023-b4d6-2a7b14510000"],"path":"/v1/underwritings/{underwriting_id}/changes","baseUrlOptions":["https://api.trycactus.com"],"title":"Request a change to a finished report","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"98f67b2f-6a18-4411-83f7-822892ac3751":{"name":"underwriting_id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"},"example":"uw_01J9ZK3M"},"2f4a5403-c5a5-4b64-a74b-8b26d8a79722":{"name":"X-Cactus-End-User","in":"header","required":false,"schema":{"type":"string","maxLength":255,"isRequired":false,"description":"Act for one of your end users (the `end_user_ref` you pass when\ncreating underwritings). Limits every underwriting, document and\nextraction call to that user's resources. Required on MCP\nconnections once your account serves end users.\n","uniqueKey":"","typeLabel":"string"},"description":"Act for one of your end users (the `end_user_ref` you pass when\ncreating underwritings). Limits every underwriting, document and\nextraction call to that user's resources. Required on MCP\nconnections once your account serves end users.\n"},"595465dd-21a1-45ac-82d4-08e2dba0bd7a":{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255,"isRequired":false,"description":"Unique key making the request safely retryable.","uniqueKey":"","typeLabel":"string"},"description":"Unique key making the request safely retryable."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["changes"],"additionalProperties":false,"properties":{"changes":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","required":["assumption_id"],"additionalProperties":false,"description":"Exactly one of `value` or `option_id`.","properties":{"assumption_id":{"type":"string","isRequired":true,"uniqueKey":"changes.items.[INDEX].assumption_id","typeLabel":"string"},"value":{"oneOf":[{"type":"number","uniqueKey":"changes.items.[INDEX].value.oneOf.0","typeLabel":"number"},{"type":"string","maxLength":200,"uniqueKey":"changes.items.[INDEX].value.oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"changes.items.[INDEX].value.oneOf.2","typeLabel":"boolean"}],"uniqueKey":"changes.items.[INDEX].value","typeLabel":"number | string | boolean"},"option_id":{"type":"string","uniqueKey":"changes.items.[INDEX].option_id","typeLabel":"string"}},"uniqueKey":"changes.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"changes","typeLabel":"object[]"},"note":{"type":"string","maxLength":2000,"description":"Why the change is made, in your user's words.","uniqueKey":"note","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"changes":[{"assumption_id":"\u003cstring>","value":123,"option_id":"\u003cstring>"}],"note":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"e22afbb7-cac0-4225-aa2b-9c29aa2ea50c":{"description":"The pending change.","content":{"application/json":{"schema":{"type":"object","required":["id","object","underwriting_id","status","changes","created_at","expires_at","sandbox"],"properties":{"id":{"type":"string","example":"chg_01J9ZK3M","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","const":"underwriting_change","isRequired":true,"uniqueKey":"object","typeLabel":"string"},"underwriting_id":{"type":"string","isRequired":true,"uniqueKey":"underwriting_id","typeLabel":"string"},"status":{"type":"string","enum":["pending","confirmed","expired","failed"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"changes":{"type":"array","items":{"type":"object","uniqueKey":"changes.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"changes","typeLabel":"object[]"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"expires_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"expires_at","typeLabel":"string\u003cdate-time>"},"sandbox":{"type":"boolean","isRequired":true,"uniqueKey":"sandbox","typeLabel":"boolean"},"preview":{"type":"object","properties":{"before":{"type":"object","uniqueKey":"preview.before","typeLabel":"object"},"after":{"type":"object","uniqueKey":"preview.after","typeLabel":"object"},"derived_changes":{"type":"array","items":{"type":"object","uniqueKey":"preview.derived_changes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"preview.derived_changes","typeLabel":"object[]"},"disclosure":{"type":"string","uniqueKey":"preview.disclosure","typeLabel":"string"}},"uniqueKey":"preview","typeLabel":"object"},"note":{"type":"string","uniqueKey":"note","typeLabel":"string"},"confirmed_at":{"type":"string","format":"date-time","uniqueKey":"confirmed_at","typeLabel":"string\u003cdate-time>"},"new_underwriting_id":{"type":"string","uniqueKey":"new_underwriting_id","typeLabel":"string"},"new_underwriting":{"type":"object","required":["id","object","status","created_at","sandbox"],"properties":{"id":{"type":"string","example":"uw_01J9ZK3M","isRequired":true,"uniqueKey":"new_underwriting.id","typeLabel":"string"},"object":{"type":"string","const":"underwriting","isRequired":true,"uniqueKey":"new_underwriting.object","typeLabel":"string"},"status":{"type":"string","description":"`queued` → `ingesting` (reading the documents and the market) →\n`underwriting` (analysis) → `calculating` (the financial model) →\n`completed`. `progress.stage` carries the finer-grained pipeline\nstep behind each.\n","enum":["queued","ingesting","underwriting","calculating","completed","failed"],"isRequired":true,"uniqueKey":"new_underwriting.status","typeLabel":"enum\u003cstring>"},"sandbox":{"type":"boolean","isRequired":true,"uniqueKey":"new_underwriting.sandbox","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"new_underwriting.created_at","typeLabel":"string\u003cdate-time>"},"progress":{"type":"object","properties":{"phase":{"type":"string","uniqueKey":"new_underwriting.progress.phase","typeLabel":"string"},"stage":{"type":"string","description":"The pipeline step in progress — `document_pack`, `market_pack`, `subject_seed`, `financial_mapping`, `underwriting_analysis`, `excel_calculation`, `agent_review`, `recalculation`, `finalizing`, `complete`. Informational only — new steps appear here without a `status` change, so branch on `status`, not on this.","uniqueKey":"new_underwriting.progress.stage","typeLabel":"string"},"detail":{"type":"string","uniqueKey":"new_underwriting.progress.detail","typeLabel":"string"}},"uniqueKey":"new_underwriting.progress","typeLabel":"object"},"property":{"type":"object","description":"Echo of the submitted property.","uniqueKey":"new_underwriting.property","typeLabel":"object"},"end_user_ref":{"type":"string","description":"Echo of the submitted end-user identifier, when one was supplied.","uniqueKey":"new_underwriting.end_user_ref","typeLabel":"string"},"version":{"type":"integer","description":"Report version. 1 for a first run; a confirmed change creates a new underwriting with the next number.","uniqueKey":"new_underwriting.version","typeLabel":"integer"},"previous_underwriting_id":{"type":"string","description":"The version this one changed (absent on version 1).","uniqueKey":"new_underwriting.previous_underwriting_id","typeLabel":"string"},"documents":{"type":"array","description":"Echo of the submitted selection, with each role settled.","items":{"type":"object","properties":{"document_id":{"type":"string","uniqueKey":"new_underwriting.documents.items.[INDEX].document_id","typeLabel":"string"},"role":{"type":"string","description":"What a document is *for* in the run. At most one document per role.\n\n| Role | Accepted formats |\n|---|---|\n| `rent_roll` | PDF, XLS, XLSX, XLSM |\n| `t12` | PDF, XLS, XLSX, XLSM |\n| `financial_model` | XLS, XLSX, XLSM |\n| `offering_memorandum` | PDF |\n| `supporting` | PDF, XLS, XLSX, XLSM |\n","enum":["rent_roll","t12","financial_model","offering_memorandum","supporting"],"uniqueKey":"new_underwriting.documents.items.[INDEX].role","typeLabel":"enum\u003cstring>"}},"uniqueKey":"new_underwriting.documents.items.[INDEX]","typeLabel":"object"},"uniqueKey":"new_underwriting.documents","typeLabel":"object[]"},"options":{"type":"object","description":"Echo of the submitted options, with defaults applied.","uniqueKey":"new_underwriting.options","typeLabel":"object"},"billed_total_usd":{"type":"string","uniqueKey":"new_underwriting.billed_total_usd","typeLabel":"string"},"completed_at":{"type":"string","format":"date-time","uniqueKey":"new_underwriting.completed_at","typeLabel":"string\u003cdate-time>"},"elapsed_seconds":{"type":"integer","description":"Whole seconds since `created_at`. Present while the run is active, so a caller can tell a run that just started from one approaching the 4-hour ceiling without doing date math.","example":640,"uniqueKey":"new_underwriting.elapsed_seconds","typeLabel":"integer"},"poll_after_seconds":{"type":"integer","description":"Recommended seconds to wait before polling again. Present while the run is active; mirrors the `Retry-After` header. Prefer this over a hard-coded interval.","example":30,"uniqueKey":"new_underwriting.poll_after_seconds","typeLabel":"integer"},"report":{"type":"object","description":"Present when completed. Private delivery omits url.","properties":{"url":{"type":"string","format":"uri","description":"Present only for public_link delivery. Public link to the underwriting report. Anyone holding it\ncan open it, with no login. It is **live**: it shows the\nreport as it stands whenever someone opens it, so a later\ncorrection reaches everyone already sent the link.\n\nIt does not expire. Access ends by revoking the link, which\nis why there is no expiry to read here.\n","uniqueKey":"new_underwriting.report.url","typeLabel":"string\u003curi>"},"excel_url":{"type":"string","description":"Path to `GET /v1/underwritings/{id}/model`, which returns a short-lived download URL for the populated Excel model — the workbook behind the report, in a form an analyst can keep working in.","example":"/v1/underwritings/uw_01J9ZK3M/model","uniqueKey":"new_underwriting.report.excel_url","typeLabel":"string"}},"uniqueKey":"new_underwriting.report","typeLabel":"object"},"summary":{"type":"object","description":"Headline metrics as plain numbers, lifted out of `results` for\nconvenience: `value_base_usd`, `cap_rate`, `normalized_noi_usd`,\n`levered_irr`, `dscr`, `equity_multiple`, `total_units` and so\non, plus `readiness_status` and `disclosure_count`.\n\nA metric the run could not establish is **absent**, never null —\nthe reason it is missing is in `results`, beside the figure.\n","additionalProperties":true,"uniqueKey":"new_underwriting.summary","typeLabel":"object"},"results":{"type":"object","description":"The whole report, in the same shape the public report page is\nrendered from (`broker-public-underwriting-delivery-v1`).\nPresent on a completed run when fetched individually; omitted\nfrom list responses and webhook payloads, which would otherwise\ncarry megabytes.\n\nEvery figure is a `{state, value, reason}` triple, because the\nproduct distinguishes a known zero from something it could not\nestablish. `state` is one of `known`, `zero`, `unavailable`,\n`not_applicable`; when it is not `known` or `zero`, `value` is\nnull and `reason` says why in a sentence you can show a user.\nCollections carry `{state, items, reason}`, where `state` is\n`available`, `partial`, `confirmed_empty` or `unavailable` —\n\"we found none\" and \"we could not look\" are different answers.\n\nTop level: `schema_version`, `generated_at`, `property`,\n`chapters`, `critical_assumptions`, `readiness`, `release`.\n\nThe chapters follow the argument the report makes:\n`answer` (what it is worth, and the cap rate and NOI behind\nthat), `income` (unit mix and rent comparables),\n`revenue` (the trailing-twelve income statement and the\nyear-one revenue waterfall), `cost` (the expense statement and\nthe normalizations applied to it), `value` (sale comparables\nand a cap-rate sensitivity grid), `buyer` (returns, financing\nand the annual cash-flow table), `risk` (market watch), `next`\n(talking points).\n\n`readiness.disclosures` is the part to surface next to any\nfigure you quote: each names something the run had to assume or\ncould not establish, with copy written to be shown to an end\nuser. `critical_assumptions.items` ranks the assumptions the\nvaluation is most sensitive to, with the dollar and IRR impact\nof moving each.\n","additionalProperties":true,"uniqueKey":"new_underwriting.results","typeLabel":"object"},"error":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"new_underwriting.error.code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"new_underwriting.error.message","typeLabel":"string"}},"uniqueKey":"new_underwriting.error","typeLabel":"object"}},"uniqueKey":"new_underwriting","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"chg_01J9ZK3M","object":"underwriting_change","underwriting_id":"\u003cstring>","status":"pending","changes":[{}],"created_at":"2023-11-07T05:31:56Z","expires_at":"2023-11-07T05:31:56Z","sandbox":true,"preview":{"before":{},"after":{},"derived_changes":[{}],"disclosure":"\u003cstring>"},"note":"\u003cstring>","confirmed_at":"2023-11-07T05:31:56Z","new_underwriting_id":"\u003cstring>","new_underwriting":{"id":"uw_01J9ZK3M","object":"underwriting","status":"queued","sandbox":true,"created_at":"2023-11-07T05:31:56Z","progress":{"phase":"\u003cstring>","stage":"\u003cstring>","detail":"\u003cstring>"},"property":{},"end_user_ref":"\u003cstring>","version":123,"previous_underwriting_id":"\u003cstring>","documents":[{"document_id":"\u003cstring>","role":"rent_roll"}],"options":{},"billed_total_usd":"\u003cstring>","completed_at":"2023-11-07T05:31:56Z","elapsed_seconds":640,"poll_after_seconds":30,"report":{"url":"\u003cstring>","excel_url":"/v1/underwritings/uw_01J9ZK3M/model"},"summary":{},"results":{},"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"7252f8ae-4605-4e79-a6ca-566abedd0905":{"description":"Malformed request.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details.","required":["title","status","code","request_id"],"properties":{"title":{"type":"string","example":"Document exceeds the size limit","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Stable machine-readable error code.","example":"document_over_size_cap","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","description":"Link to this code's entry on the errors page. An anchor, not a path — every code lives on the one page.\n","example":"https://docs.trycactus.com/errors#document_over_size_cap","uniqueKey":"type","typeLabel":"string\u003curi>"},"detail":{"type":"string","example":"Files over 500 pages or 100 MB are rejected and not charged.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, when applicable.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Document exceeds the size limit","status":422,"code":"document_over_size_cap","request_id":"\u003cstring>","type":"https://docs.trycactus.com/errors#document_over_size_cap","detail":"Files over 500 pages or 100 MB are rejected and not charged.","errors":[{"field":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"dcc4ccc8-55ff-4f2a-be1b-ab21f4dc386d":{"description":"The key authenticated, but this product is not available to it. `product_not_enabled` — your account has not been enabled for this product; contact api@trycactus.com. `missing_scope` — your account has the product but this particular key was issued without it; use a key that carries the scope.\n","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details.","required":["title","status","code","request_id"],"properties":{"title":{"type":"string","example":"Document exceeds the size limit","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Stable machine-readable error code.","example":"document_over_size_cap","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","description":"Link to this code's entry on the errors page. An anchor, not a path — every code lives on the one page.\n","example":"https://docs.trycactus.com/errors#document_over_size_cap","uniqueKey":"type","typeLabel":"string\u003curi>"},"detail":{"type":"string","example":"Files over 500 pages or 100 MB are rejected and not charged.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, when applicable.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"product_not_enabled":{"title":"product_not_enabled","value":{"type":"https://docs.trycactus.com/errors#product_not_enabled","title":"Product not enabled for this account","status":403,"detail":"Your account is not enabled for underwriting. Contact api@trycactus.com to enable it.","code":"product_not_enabled","request_id":"req_01J9Z6X2QK8N4M"}},"missing_scope":{"title":"missing_scope","value":{"type":"https://docs.trycactus.com/errors#missing_scope","title":"API key lacks the required scope","status":403,"detail":"This API key does not have the 'underwriting' scope. Use a key with underwriting access.","code":"missing_scope","request_id":"req_01J9Z6X2QK8N4M"}}},"exampleType":"examples"}},"exampleType":"examples"},"495521c5-553e-408f-953b-ce56f2741a7e":{"description":"Resource does not exist (or belongs to another partner).","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details.","required":["title","status","code","request_id"],"properties":{"title":{"type":"string","example":"Document exceeds the size limit","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Stable machine-readable error code.","example":"document_over_size_cap","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","description":"Link to this code's entry on the errors page. An anchor, not a path — every code lives on the one page.\n","example":"https://docs.trycactus.com/errors#document_over_size_cap","uniqueKey":"type","typeLabel":"string\u003curi>"},"detail":{"type":"string","example":"Files over 500 pages or 100 MB are rejected and not charged.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, when applicable.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Document exceeds the size limit","status":422,"code":"document_over_size_cap","request_id":"\u003cstring>","type":"https://docs.trycactus.com/errors#document_over_size_cap","detail":"Files over 500 pages or 100 MB are rejected and not charged.","errors":[{"field":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"db911849-0370-4bff-818c-3ce585d99e0b":{"description":"Not completed, or a newer version exists (`underwriting_superseded`).","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details.","required":["title","status","code","request_id"],"properties":{"title":{"type":"string","example":"Document exceeds the size limit","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Stable machine-readable error code.","example":"document_over_size_cap","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","description":"Link to this code's entry on the errors page. An anchor, not a path — every code lives on the one page.\n","example":"https://docs.trycactus.com/errors#document_over_size_cap","uniqueKey":"type","typeLabel":"string\u003curi>"},"detail":{"type":"string","example":"Files over 500 pages or 100 MB are rejected and not charged.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, when applicable.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Document exceeds the size limit","status":422,"code":"document_over_size_cap","request_id":"\u003cstring>","type":"https://docs.trycactus.com/errors#document_over_size_cap","detail":"Files over 500 pages or 100 MB are rejected and not charged.","errors":[{"field":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"2fd71345-8c2b-4607-a837-92430164d0fd":{"description":"An assumption is unknown or not editable, or the value is invalid.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details.","required":["title","status","code","request_id"],"properties":{"title":{"type":"string","example":"Document exceeds the size limit","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Stable machine-readable error code.","example":"document_over_size_cap","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","description":"Link to this code's entry on the errors page. An anchor, not a path — every code lives on the one page.\n","example":"https://docs.trycactus.com/errors#document_over_size_cap","uniqueKey":"type","typeLabel":"string\u003curi>"},"detail":{"type":"string","example":"Files over 500 pages or 100 MB are rejected and not charged.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, when applicable.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Document exceeds the size limit","status":422,"code":"document_over_size_cap","request_id":"\u003cstring>","type":"https://docs.trycactus.com/errors#document_over_size_cap","detail":"Files over 500 pages or 100 MB are rejected and not charged.","errors":[{"field":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"653f1fce-a12f-4592-85c6-28b2783d12ee":{"description":"The calculation service is temporarily unavailable.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details.","required":["title","status","code","request_id"],"properties":{"title":{"type":"string","example":"Document exceeds the size limit","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Stable machine-readable error code.","example":"document_over_size_cap","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"type":{"type":"string","format":"uri","description":"Link to this code's entry on the errors page. An anchor, not a path — every code lives on the one page.\n","example":"https://docs.trycactus.com/errors#document_over_size_cap","uniqueKey":"type","typeLabel":"string\u003curi>"},"detail":{"type":"string","example":"Files over 500 pages or 100 MB are rejected and not charged.","uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"array","description":"Field-level validation errors, when applicable.","items":{"type":"object","properties":{"field":{"type":"string","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"title":"Document exceeds the size limit","status":422,"code":"document_over_size_cap","request_id":"\u003cstring>","type":"https://docs.trycactus.com/errors#document_over_size_cap","detail":"Files over 500 pages or 100 MB are rejected and not charged.","errors":[{"field":"\u003cstring>","code":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"2297ff2f-d9c9-4023-b4d6-2a7b14510000":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"ck_live_* or ck_sandbox_*","description":"Partner API key issued by Cactus.","scopes":[],"schemeName":"apiKey"}}},"servers":{"1a16f6a0-bda6-4bf3-9c8b-84185a6fb93b":{"url":"https://api.trycactus.com","description":"Production (live and sandbox keys)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"ck_live_* or ck_sandbox_*","description":"Partner API key issued by Cactus.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Partner API key issued by Cactus.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"cactus-10e55128","siteName":"Cactus Partner API","title":"Request a change to a finished report - Cactus Partner API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T20:21:42.646Z","originalFileLocation":"api-reference/underwritings/request-a-change-to-a-finished-report.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Records a change to the assumptions with its what-if preview and returns a chg_… id. Nothing runs until the change is confirmed with POST /v1/underwriting-changes/{change_id}/confirm — show the change to your user first. A pending change expires after 30 minutes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cactus Partner API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/cactus-10e55128/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/cactus-10e55128/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/cactus-10e55128/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/cactus-10e55128/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Request a change to a finished report - Cactus Partner API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Records a change to the assumptions with its what-if preview and returns a chg_… id. Nothing runs until the change is confirmed with POST /v1/underwriting-changes/{change_id}/confirm — show the change to your user first. A pending change expires after 30 minutes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cactus Partner API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cactus-10e55128.mintlify.site/_mintlify/api/og/v2?division=Underwritings\u0026amp;title=Request+a+change+to+a+finished+report\u0026amp;description=Records+a+change+to+the+assumptions+with+its+what-if+preview+and%0Areturns+a+%60chg_%E2%80%A6%60+id.+Nothing+runs+until+the+change+is+confirmed%0Awith+%60POST+%2Fv1%2Funderwriting-ch\u0026amp;theme=6ee3ac95092e49869d3cabc5\u0026amp;signature=94a92c268a6923ccb07ccd8118eefd8c728239d2bfcb8393973e047b8e3128b9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Request a change to a finished report - Cactus Partner API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Records a change to the assumptions with its what-if preview and returns a chg_… id. Nothing runs until the change is confirmed with POST /v1/underwriting-changes/{change_id}/confirm — show the change to your user first. A pending change expires after 30 minutes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cactus-10e55128.mintlify.site/_mintlify/api/og/v2?division=Underwritings\u0026amp;title=Request+a+change+to+a+finished+report\u0026amp;description=Records+a+change+to+the+assumptions+with+its+what-if+preview+and%0Areturns+a+%60chg_%E2%80%A6%60+id.+Nothing+runs+until+the+change+is+confirmed%0Awith+%60POST+%2Fv1%2Funderwriting-ch\u0026amp;theme=6ee3ac95092e49869d3cabc5\u0026amp;signature=94a92c268a6923ccb07ccd8118eefd8c728239d2bfcb8393973e047b8e3128b9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/cactus-10e55128/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cactus Partner API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0E7C5B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/underwritings/request-a-change-to-a-finished-report.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trycactus.com/#organization\",\"name\":\"Cactus Partner API\",\"url\":\"https://docs.trycactus.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trycactus.com#website\",\"name\":\"Cactus Partner API\",\"url\":\"https://docs.trycactus.com\",\"publisher\":{\"@id\":\"https://docs.trycactus.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report#webpage\",\"url\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report\",\"name\":\"Request a change to a finished report\",\"description\":\"Records a change to the assumptions with its what-if preview and returns a chg_… id. Nothing runs until the change is confirmed with POST /v1/underwriting-changes/{change_id}/confirm — show the change to your user first. A pending change expires after 30 minutes.\",\"dateModified\":\"2026-11-06T20:21:42.646Z\",\"isPartOf\":{\"@id\":\"https://docs.trycactus.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Underwritings\",\"item\":\"https://docs.trycactus.com/api-reference/underwritings/list-underwriting-runs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Request a change to a finished report\",\"item\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report#apireference\",\"headline\":\"Request a change to a finished report\",\"name\":\"Request a change to a finished report\",\"description\":\"Records a change to the assumptions with its what-if preview and returns a chg_… id. Nothing runs until the change is confirmed with POST /v1/underwriting-changes/{change_id}/confirm — show the change to your user first. A pending change expires after 30 minutes.\",\"url\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trycactus.com/api-reference/underwritings/request-a-change-to-a-finished-report#webpage\"},\"dateModified\":\"2026-11-06T20:21:42.646Z\",\"publisher\":{\"@id\":\"https://docs.trycactus.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trycactus.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cactus Partner API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Cactus Partner API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/underwritings/request-a-change-to-a-finished-report.md","siteName":"Cactus Partner API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Documents","pages":[{"title":"List documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/documents","href":"/api-reference/documents/list-documents"},{"title":"Register a document and get a presigned upload URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/documents","href":"/api-reference/documents/register-a-document-and-get-a-presigned-upload-url"},{"title":"Retrieve a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/documents/{document_id}","href":"/api-reference/documents/retrieve-a-document"},{"title":"Delete a document and its stored file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/documents/{document_id}","href":"/api-reference/documents/delete-a-document-and-its-stored-file"},{"title":"Get a short-lived link to the original uploaded file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/documents/{document_id}/download","href":"/api-reference/documents/get-a-short-lived-link-to-the-original-uploaded-file"}]},{"group":"Extractions","pages":[{"title":"List extraction jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/extractions","href":"/api-reference/extractions/list-extraction-jobs"},{"title":"Create an extraction job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/extractions","href":"/api-reference/extractions/create-an-extraction-job"},{"title":"Retrieve an extraction job (poll for status)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/extractions/{extraction_id}","href":"/api-reference/extractions/retrieve-an-extraction-job-poll-for-status"},{"title":"Retrieve the structured output of a completed extraction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/extractions/{extraction_id}/result","href":"/api-reference/extractions/retrieve-the-structured-output-of-a-completed-extraction"}]},{"group":"Underwritings","pages":[{"title":"List underwriting runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings","href":"/api-reference/underwritings/list-underwriting-runs"},{"title":"Start an automated underwriting run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwritings","href":"/api-reference/underwritings/start-an-automated-underwriting-run"},{"title":"Retrieve an underwriting run (poll for status)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings/{underwriting_id}","href":"/api-reference/underwritings/retrieve-an-underwriting-run-poll-for-status"},{"title":"Create a private report embed session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwritings/{underwriting_id}/embed-sessions","href":"/api-reference/underwritings/create-a-private-report-embed-session"},{"title":"Download the populated Excel model","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings/{underwriting_id}/model","href":"/api-reference/underwritings/download-the-populated-excel-model"},{"title":"Outline of a finished report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings/{underwriting_id}/outline","href":"/api-reference/underwritings/outline-of-a-finished-report"},{"title":"One section of a finished report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings/{underwriting_id}/sections/{section}","href":"/api-reference/underwritings/one-section-of-a-finished-report"},{"title":"Editable assumptions behind a finished report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings/{underwriting_id}/assumptions","href":"/api-reference/underwritings/editable-assumptions-behind-a-finished-report"},{"title":"What-if on a finished report","description":"Recalculates the saved model with changed assumptions and returns the\nheadline figures before and after. Nothing is saved or charged.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwritings/{underwriting_id}/previews","href":"/api-reference/underwritings/what-if-on-a-finished-report"},{"title":"Request a change to a finished report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwritings/{underwriting_id}/changes","href":"/api-reference/underwritings/request-a-change-to-a-finished-report"},{"title":"Get a change","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwriting-changes/{change_id}","href":"/api-reference/underwritings/get-a-change"},{"title":"Confirm a change and start the new version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/underwriting-changes/{change_id}/confirm","href":"/api-reference/underwritings/confirm-a-change-and-start-the-new-version"},{"title":"Every version of a report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/underwritings/{underwriting_id}/versions","href":"/api-reference/underwritings/every-version-of-a-report"}]},{"group":"Usage","pages":[{"title":"Usage pool balance and metered activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/usage","href":"/api-reference/usage/usage-pool-balance-and-metered-activity"}]},{"group":"Webhook Endpoints","pages":[{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/webhook-endpoints","href":"/api-reference/webhook-endpoints/list-webhook-endpoints"},{"title":"Register a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/webhook-endpoints","href":"/api-reference/webhook-endpoints/register-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/webhook-endpoints/{endpoint_id}","href":"/api-reference/webhook-endpoints/delete-a-webhook-endpoint"}]},{"group":"API Reference","pages":[{"title":"Extraction finished successfully","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook extraction.completed","href":"/api-reference/extraction-finished-successfully"},{"title":"Extraction failed accepted documents are auto refunded","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook extraction.failed","href":"/api-reference/extraction-failed-accepted-documents-are-auto-refunded"},{"title":"Underwriting run finished with a report link","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook underwriting.completed","href":"/api-reference/underwriting-run-finished-with-a-report-link"},{"title":"Underwriting run failed","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook underwriting.failed","href":"/api-reference/underwriting-run-failed"}]}]}]},"basePath":"","title":"Request a change to a finished report - Cactus Partner API","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}