---
title: "Finalize Preliminary"
method: POST
path: "/api/v1/preliminary/report/{report_id}/finalize"
tags: ["preliminary"]
---

# Finalize Preliminary

`POST /api/v1/preliminary/report/{report_id}/finalize`

## Request

- Base URL: `https://api.casaintelligence.com.au` (the document declares no server; this is the origin it was published from)
- URL: `https://api.casaintelligence.com.au/api/v1/preliminary/report/{report_id}/finalize`
- Auth: none declared

Verify Stripe payment then generate + store the report. Idempotent.

## Path parameters

- `report_id` string, required

## Request body

- AppApiV1PreliminaryFinalizeRequest
  - `stripe_session_id` string, required

## Response `200`

Successful Response

- ReportResponse
  - `id` string, required
  - `property_id` string, nullable, required
  - `status` string, required
  - `paid` boolean, required
  - `report_type` string, required
  - `report_data` object, nullable
  - `requested_email` string, nullable
  - `created_at` string, required
  - `completed_at` string, nullable
  - `agent` object, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine.md) · [All operations](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/revisions/71d711039de0?raw)
