> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bango.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Contact Support if you have a question not answered here

Here are some frequently asked questions about the Bango Subscriptions API.

<AccordionGroup>
  <Accordion title="How do I manage products, plans, and phases?">
    The Bango Subscriptions API creates and manages subscriptions to items in your own product catalog hosted by the Bango Platform. This catalog defines all available products (which also includes services), their plans, and the phases for each plan.

    Your catalog contains products and plans defined in conjunction with the merchants who provide the products and services. For all questions, or to request updates to your product catalog, contact [Bango Support](/legacy/platform/architecture/support).
  </Accordion>

  <Accordion title="How do I use my own unique identifier for a subscription?">
    In the Bango Subscriptions API, every subscription has a globally unique identifier. This is allocated by Bango on creation, and does not change. You might want to associate your own unique internal identifier with a subscription: for example, to link your own private internal data to the subscription.

    To use your own identifier:

    * When you create the subscription, pass your internal unique identifier as the `externalKey` parameter in the request body
    * You can fetch the subscription either using the subscription ID assigned by Bango (`GET /subscription/{subscriptionId}`) or your internal unique identifier `GET /subscription/externalKey/{externalKey}`

    You may not use the same `externalKey` with more than one subscription. If you create a subscription and supply an`externalKey` already in use, the Bango Subscriptions API returns an HTTP 409 Conflict response.
  </Accordion>

  <Accordion title="How do I use the Bango Subscriptions API with the Bango Reseller API?">
    You can use the Bango Subscriptions API with the [Bango Resale API for resellers](/legacy/resale/reseller/api-ref/index). This lets you manage a subscription to a Bango Resale entitlement.

    To do this:

    * When you create the subscription, pass the Bango Resale entitlement ID as the `externalKey` parameter in the request body
    * You can fetch the subscription either using the subscription ID assigned by Bango (`GET /subscription/{subscriptionId}`) or the Bango Resale entitlement ID `GET /subscription/externalKey/{entitlementID}`
    * You must manage the lifecycle of the entitlement as well as the subscription. For example, if the user cancels the entitlement, then you must cancel the subscription as well.
  </Accordion>

  <Accordion title="What does &#x22;uncancel&#x22; mean?">
    In the Bango Subscriptions API, the `DELETE /subscription/{subscriptionId}` endpoint lets you cancel a subcription – for example, based on a user action in a portal app. There are two main scenarios:

    * Cancel **immediately**. The subscription ends at once, and billing stops. A partial refund for the remainder of the billing period might be required.
    * Cancel **effective at a later date**. The subscription ends and billing stops at that date. Typically, the later date is the end of the billing period.

    If you cancel a subscription immediately, the subscription enters state `CANCELLED`. This is a final state.

    If you cancel a subscription effective at a later date, the subscription remains in state `ACTIVE` and the `cancelledDate` property is set to that date. If nothing else happens, then the subscription changes to state `CANCELLED` on that date.

    However, while the subscription remains `ACTIVE` with a `cancelledDate` set, you can "uncancel" the subscription: this reverses or undoes the cancellation. In effect, during this period the subscription is in an "active and pending cancellation" state.

    To identify whether a subscription is in "active and pending cancellation" state: look for status `ACTIVE` and `cancelledDate` not `null`.

    To uncancel a subscription in "active and pending cancellation" state: use the `PUT /subscription/{subscriptionId}/uncancel` endpoint. On success, the `cancelledDate` property is set to `null`.

    You can't uncancel a subscription in state `CANCELLED`.
  </Accordion>
</AccordionGroup>
