---
title: "Create Report Checkout"
method: POST
path: "/api/v1/consumer/report-checkout"
tags: ["consumer"]
---

# Create Report Checkout

`POST /api/v1/consumer/report-checkout`

## 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/consumer/report-checkout`
- Auth: none declared

Create a Stripe one-time checkout session for a $29 property profile PDF.

Flow:
  1. Insert a pending ci_reports row (status='pending', paid=False)
  2. Create Stripe Checkout Session with price = STRIPE_PRICE_PROPERTY_PROFILE
  3. Return the checkout URL — frontend redirects user to Stripe
  4. On Stripe webhook (checkout.session.completed), update ci_reports.paid=True
     and trigger PDF generation (background task)
  5. User is redirected back to /report/{report_id} which polls for ready

## Request body

- ReportCheckoutRequest
  - `property_id` string, required: UUID of ci_properties row
  - `email` string, email, required
  - `address_label` string, nullable
  - `success_url` string, nullable
  - `cancel_url` string, nullable

## Response `200`

Successful Response

- ReportCheckoutResponse
  - `checkout_url` string, required
  - `session_id` string, required
  - `report_id` string, required

## 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)
