---
title: "Retrieve cancel survey"
method: GET
path: "/subscriptions/cancelSurvey/reasons/{subscriptionId}"
tags: ["Subscriptions"]
---

# Retrieve cancel survey

`GET /subscriptions/cancelSurvey/reasons/{subscriptionId}`

Retrieves the cancel survey state for a specific `subscriptionId`.
- If the subscription is **active**, returns the full list of cancel reasons for display.

- If the subscription is **already canceled**, returns the selected reason, feedback, and language used during cancellation.

## Path parameters

- `subscriptionId` string, required

## Query parameters

- `lang` 'ar' | 'cs' | 'da' | 'de' | 'es' | 'fi' | 'fr' | 'hr' | 'hu' | 'it' | 'iw' | 'ja' | 'ko' | 'nl' | 'no' | 'pl' | 'pt' | 'ru' | 'sk' | 'sv' | 'tr' | 'zh'

## Response `200`

OK

- union
  - CancelSurveyReasonsResponse — Response containing available cancel reasons for an active subscription.
    - `language` string — Language code used for localized reason fields.
    - `site` string — Site identifier for the subscription.
    - `subscription` object — Subscription and product metadata.
      - `subscriptionId` string — Unique identifier of the subscription.
      - `product` object
        - `path` string — Unique identifier to reference a specific product, also known as the product path ID.
        - `displayName` string — Display name of the product.
    - `reasons` CancelReason[] — List of cancel reasons configured for this subscription.
      - `id` '1' | '2' | '3' | '4' | '5' | '6' | '7' — Unique ID for the cancel reason.
      - `name` 'cost' | 'need' | 'usability' | 'support' | 'integration' | 'alternative' | 'other' — Predefined name for the cancel reason.
      - `displayName` string — Label shown to users in the cancel survey UI.
      - `enabled` boolean — Whether the reason is currently shown in the survey.
      - `description` string — Long-form explanation of the reason shown in the UI.
  - CancelSurveyRecordedResponse — Response containing cancel survey details for a previously canceled subscription.
    - `language` string — Language code used when the cancel survey was submitted.
    - `site` string — Site identifier for the subscription.
    - `subscription` object — Subscription and product metadata.
      - `subscriptionId` string — Unique ID of the subscription.
      - `product` object
        - `path` string — Unique identifier to reference a specific product, also known as the product path ID.
        - `displayName` string — Display name of the product.
    - `cancelSurvey` CancelSurvey — Survey data submitted during subscription cancellation.
      - `reasonId` '1' | '2' | '3' | '4' | '5' | '6' | '7', required — Required. ID of the cancel reason. When present, overrides `reasonName`. Mapped values: - 1 = cost - 2 = need - 3 = usability - 4 = support - 5 = integration - 6 = alternative - 7 = other
      - `reasonName` 'cost' | 'need' | 'usability' | 'support' | 'integration' | 'alternative' | 'other' — Optional. Used only if `reasonId` is not supplied. Must exactly match a supported reason name.
      - `displayName` string — Display name of the cancel reason shown to users.
      - `description` string — Long-form explanation of the cancel reason.
      - `feedbackText` string — Optional freeform feedback provided by the user.
      - `lang` 'ar' | 'cs' | 'da' | 'de' | 'es' | 'fi' | 'fr' | 'hr' | 'hu' | 'it' | 'iw' | 'ja' | 'ko' | 'nl' | 'no' | 'pl' | 'pt' | 'ru' | 'sk' | 'sv' | 'tr' | 'zh' — ISO 639-1 language code used for localization.

## Other responses

- `401` — Authentication credentials are missing or invalid.
- `429` — Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header.
- `500` — Internal server error.

---

[API](https://skmtc.net/fastspring/apis/fastspring-api-accounts.md) · [All operations](https://skmtc.net/fastspring/apis/fastspring-api-accounts/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fastspring/fastspring-api-accounts/versions/ae2f0b97db3e/schema)
