{
  "opencollection": "1.0.0",
  "info": {
    "name": "ZeroSettle IAP Cancel Flow API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "X-ZeroSettle-Key",
      "value": "{{X-ZeroSettle-Key}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Cancel Flow",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get Cancel Flow",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.zerosettle.io/v1/iap/cancel-flow",
            "params": [
              {
                "name": "user_id",
                "value": "",
                "type": "query",
                "description": "The user's external ID. Used to personalize offers."
              }
            ]
          },
          "docs": "Returns the configured cancel flow for the app, including survey questions, retention offers, and pause options. The SDK uses this to render a multi-step cancellation experience."
        },
        {
          "info": {
            "name": "Submit Cancel Flow Response",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.zerosettle.io/v1/iap/cancel-flow/respond",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Submits the user's responses from the cancel flow, including survey answers and the final outcome (cancelled, retained, dismissed, or paused). Used for cancel flow analytics."
        },
        {
          "info": {
            "name": "Accept Cancel Flow Offer",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.zerosettle.io/v1/iap/cancel-flow/accept-offer",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Accepts the retention offer shown during the cancel flow, applying a discount to the user's subscription."
        }
      ]
    }
  ],
  "bundled": true
}