> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).
>
> To search these docs, send a `GET` request to `https://paddle-docs-retrieval.kapa-paddle.workers.dev/?q=<question>` with a URL-encoded question. No authentication needed. It returns a JSON array of `{content, source_url}`, most relevant first.

# Analyze cancellations with cancellation flow sessions reports

Generate a new cancellation flow sessions report to see why customers cancel, what they told you, and whether your Cancellation Flows salvaged their subscription.

---

## What's new?

We've added a new cancellation flow sessions report to the Paddle platform. It lists each session, once it ends, where a customer went through one of your [Cancellation Flows](https://developer.paddle.com/concepts/retain/cancellation-flows-surveys.md), so you can see why customers cancel and how well your flows salvage subscriptions.

## How it works

[Reports](https://developer.paddle.com/build/reports.md) in Paddle let you export information from your account to import into accounting software, ERPs, and other business intelligence tools.

The new [cancellation flow sessions report](https://developer.paddle.com/build/reports/cancellation-flow-sessions.md) includes the cancellation reason, satisfaction insight, and feedback each customer gave. It records the salvage attempt and discount offer the customers saw, what they decided, and whether the session was salvaged, failed to salvage, or was abandoned. Each row also includes the cancellation flow, the customer, and the products and prices on the subscription when the customer started the session.

You can generate it whenever you need it from the Paddle dashboard or the Paddle API, for any date range.

You can filter cancellation flow sessions reports by:

- `cancellation_flow_session_created_at`: the date range when sessions were created. If you don't pass a `gte` filter, the report includes sessions created in the month before the report was generated.
- `cancellation_flow_id`: one or more cancellation flows.
- `cancellation_flow_session_resolution`: whether sessions were `salvaged`, `failed_to_salvage`, or `abandoned`.

### Example

This example creates a cancellation flow sessions report for sessions created in November 2026 where the customer went on to cancel:

{% api-example method="POST" path="/reports" href="/api-reference/reports/create-report" %}

```json
{
  "type": "cancellation_flow_sessions",
  "filters": [
    {
      "name": "cancellation_flow_session_resolution",
      "value": ["failed_to_salvage"]
    },
    {
      "name": "cancellation_flow_session_created_at",
      "operator": "gte",
      "value": "2026-11-01T00:00:00Z"
    },
    {
      "name": "cancellation_flow_session_created_at",
      "operator": "lt",
      "value": "2026-12-01T00:00:00Z"
    }
  ]
}
```

```json
{
  "data": {
    "id": "rep_01jz9k3w5m8qt2vx7bnc4rhd6y",
    "type": "cancellation_flow_sessions",
    "rows": null,
    "status": "pending",
    "filters": [
      {
        "name": "cancellation_flow_session_resolution",
        "value": ["failed_to_salvage"],
        "operator": null
      },
      {
        "name": "cancellation_flow_session_created_at",
        "value": "2026-11-01T00:00:00Z",
        "operator": "gte"
      },
      {
        "name": "cancellation_flow_session_created_at",
        "value": "2026-12-01T00:00:00Z",
        "operator": "lt"
      }
    ],
    "expires_at": null,
    "created_at": "2026-12-01T09:12:44.301Z",
    "updated_at": "2026-12-01T09:12:44.301Z"
  },
  "meta": {
    "request_id": "8e4b1f27-3c6a-4d95-a0b2-7f13c9e5d861"
  }
}
```

{% /api-example %}

## Next steps

The cancellation flow sessions report is available now in version `1` of the Paddle API and in the Paddle dashboard. You don't need to do anything to get this change.

If we've let you know that your cancellation flow is moving from ProfitWell to Paddle Billing, the report will automatically be enabled on your account over the next few weeks.

It's a non-breaking change, meaning it doesn't impact existing integrations.

Check out the [cancellation flow sessions report guide](https://developer.paddle.com/build/reports/cancellation-flow-sessions.md) and the [report entity overview](https://developer.paddle.com/api-reference/reports.md) in the API reference to get started.
## Summary of changes

| Name | Type | Change | Entity | Description |
| --- | --- | --- | --- | --- |
| `type` | Enum value | added | Report | cancellation_flow_sessions added. |
| `cancellation_flow_session_created_at` | Field | added | Reports | Filter cancellation flow sessions reports by the date a session was created. |
| `cancellation_flow_id` | Field | added | Reports | Filter cancellation flow sessions reports by cancellation flow. |
| `cancellation_flow_session_resolution` | Field | added | Reports | Filter cancellation flow sessions reports by how a session ended. |
