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

# Get change options

> Get available upgrade and downgrade options for a subscription item. Only available if the item has a product group assigned.

<sup>Required permissions: `subscription:read`</sup>

Get available upgrade and downgrade options for a subscription item.

## Prerequisites

The subscription item must have a product group assigned via `PUT /subscription-items/{id}/product-group`.

## Response

The response includes:

* `current`: Information about the current membership and price plan
* `options`: Available upgrade/downgrade options
* `hasPendingChange`: Whether a change is already scheduled

<Note>
  If `hasPendingChange` is `true`, no further changes can be made until the pending change is applied.
</Note>


## OpenAPI

````yaml get /subscription-items/{id}/change-options
openapi: 3.1.0
info:
  title: Fynn API
  description: ''
  termsOfService: https://www.fynn.eu/tos
  contact:
    name: Fynn UG (haftungsbeschränkt)
    url: https://www.fynn.eu
    email: hi@fynn.eu
  license:
    name: Proprietary
    url: https://www.fynn.eu/license
  version: 0.0.0
servers:
  - url: https://coreapi.io
    description: Production
  - url: https://preview.coreapi.io
    description: Sandbox
security:
  - JWT: []
tags: []
paths:
  /subscription-items/{id}/change-options:
    parameters: []
    get:
      tags:
        - SubscriptionItem
      summary: Get change options
      description: >-
        Get available upgrade and downgrade options for a subscription item.
        Only available if the item has a product group assigned.


        <sup>Required permissions: `subscription:read`</sup>
      operationId: getSubscriptionItemChangeOptions
      parameters:
        - name: id
          in: path
          description: SubscriptionItem identifier
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Change options for the subscription item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionItemChangeOptions'
        '404':
          description: Resource not found
      security:
        - JWT:
            - subscription:read
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl -X GET \
             /subscription-items/{id}/change-options \
             --header "Authorization: Bearer <token>"
components:
  schemas:
    SubscriptionItemChangeOptions:
      type: object
      description: Available change options for a subscription item
      properties:
        current:
          type: object
          description: Current membership information
          properties:
            id:
              type: string
            name:
              type: string
            pricePlan: f5f36c85-b5d4-4785-87eb-3b0f5bef4f42
            product: bdfc8de3-972c-4709-8e6d-b3a747ff6713
        options:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Membership ID
              label:
                type: string
              product: f92ae2dc-8a85-4831-b316-eb8b9a5264c2
              pricePlans:
                type: array
                items: 3ed7b86b-6c57-4f2a-86e1-464fe58b0d0d
              changeTiming:
                type: string
                enum:
                  - immediately
                  - end_of_period
              creditType:
                type: string
                enum:
                  - full
                  - pro_rata
                  - last_invoiced
                  - none
              isUpgrade:
                type: boolean
              isDowngrade:
                type: boolean
        hasPendingChange:
          type: boolean
          description: Whether a change is already scheduled
  securitySchemes:
    JWT:
      type: http
      scheme: bearer

````