---
title: "Sets the subscription for an in progress subscription order"
method: PUT
path: "/ocapi/v1/orders/{orderId}/subscription"
tags: ["Subscriptions"]
---

# Sets the subscription for an in progress subscription order

`PUT /ocapi/v1/orders/{orderId}/subscription`

This endpoint cannot be used for an in progress subscription order with
subscription order Action equal to subscription order action Reactivate

#### Licenses Required


- Vista.Ocapi
- Vista.Subscriptions

## Path parameters

- `orderId` string, required

## Headers

- `loyaltySessionToken` string
- `Connect-Region-Code` string

## Request body

- OcapiV1OrdersSubscriptionsRequestsOrderSubscriptionRequest — Represents the details of a subscription billing option entity requested for an in progress subscription order
  - `subscriptionBillingOptionId` string, required — Gets the unique identifier of the subscription billing option
  - `discountId` string, nullable — Gets the unique identifier of the discount used, if applicable
  - `voucherId` string, nullable — Gets the unique identifier of the order voucher used, if applicable

## Response `200`

Success

- OcapiV1OrdersInProgressOrdersInProgressSubscriptionOrderDetails — Represents an in progress subscription order entity, and its related data
  - `order` OcapiV1OrdersInProgressOrdersInProgressSubscriptionOrder, required — Represents a subscription order in an order status InProgress state
    - `id` string, nullable — Gets the unique identifier
    - `type` 'Standard' | 'GiftShop' | 'Subscription', required — Represents the type of an order base
    - `status` 'InProgress' | 'Completed', required — Represents the life-cycle stages of an order base
    - `totalPrice` OcapiV1MonetaryValue, required — Represents a monetary value, and its related tax value
      - `valueIncludingTax` number, double, required — Gets the monetary value including tax
      - `valueExcludingTax` number, double, required — Gets the monetary value excluding tax
      - `tax` number, double, required — Gets the amount of tax
    - `vouchers` OcapiV1OrdersVouchersOrderVoucher[], required — Gets the list of order voucher entities
      - `id` string, required — Gets the identifier that can be used to uniquely identify the voucher within the order base
      - `type` 'Ticket' | 'Subscription' | 'Deal', required — Represents the type of a voucher
      - `maskedBarcode` string, required — Gets a masked representation of the barcode
      - `voucherTypeCode` string, required — Gets the unique identifier of the voucher type
      - `voucherTypeDescription` OcapiV1Translatable — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `deals` OcapiV1OrdersDealsOrderDeal[], required — Gets the list of order deal entities
      - `id` string, required — Gets the identifier that can be used to uniquely identify the deal within the order base
      - `dealId` string, required — Gets the unique identifier of the deal base used
      - `voucherId` string, nullable — Gets the unique identifier of the order voucher used, if applicable
    - `payments` union[], required — Gets the list of order payment base entities
      - union — Represents the base properties of a payment that has been added to an order base
        - OcapiV1OrdersPaymentsRedirectOrderRedirectPayment — Represents a redirect payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
        - OcapiV1OrdersPaymentsMemberBalanceOrderMemberBalancePayment — Represents a member balance payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
          - `balanceTypeId` integer, required — Gets the unique identifier of the balance type
          - `units` number, double, required — Gets the value in balance type units
        - OcapiV1OrdersPaymentsGiftCardsOrderGiftCardPayment — Represents a gift card payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `maskedCardNumber` string, required — Gets a masked representation of the card number
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
        - OcapiV1OrdersPaymentsExternallyProcessedOrderExternallyProcessedPayment — Represents an externally processed payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
        - OcapiV1OrdersPaymentsEmbeddedOrderEmbeddedPayment — Represents an embedded payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
        - OcapiV1OrdersPaymentsCinemaProcessedOrderCinemaProcessedPayment — Represents a cinema processed payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
    - `subscription` OcapiV1OrdersSubscriptionsOrderSubscription — Represents the selected subscription billing option within a subscription order
      - `subscriptionBillingOptionId` string, required — Gets the unique identifier of the subscription billing option
      - `price` OcapiV1MonetaryValue, required — Represents a monetary value, and its related tax value
        - `valueIncludingTax` number, double, required — Gets the monetary value including tax
        - `valueExcludingTax` number, double, required — Gets the monetary value excluding tax
        - `tax` number, double, required — Gets the amount of tax
      - `subscriptionId` integer, required — Gets the unique identifier of the subscription
      - `discountId` string, nullable — Gets the unique identifier of the discount used, if applicable
      - `voucherId` string, nullable — Gets the unique identifier of the order voucher used, if applicable
    - `action` 'Purchase' | 'Reactivate', required — Represents the action that will be performed during a subscription order
    - `expiresAt` string, date-time, required — Gets the date and time that the order is set to expire
    - `hasCustomer` boolean, required — Gets a value indicating whether the order customer has been set
    - `amountSaved` OcapiV1MonetaryValue, required — Represents a monetary value, and its related tax value
      - `valueIncludingTax` number, double, required — Gets the monetary value including tax
      - `valueExcludingTax` number, double, required — Gets the monetary value excluding tax
      - `tax` number, double, required — Gets the amount of tax
  - `relatedData` OcapiV1OrdersRelatedDataOrderRelatedData, required — Related data for an order base entity
    - `films` OcapiV1OrdersRelatedDataOrderRelatedFilm[], required — Gets the list of related order related film entities
      - `id` string, required
      - `title` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `externalIds` OcapiV1BrowsingMasterDataFilmsFilmExternalIds, required — Represents the external identifiers linked to a film
        - `moviexchangeReleaseId` string, uuid, nullable — Gets the unique identifier of the linked movieXchange film release entity
        - `corporateId` string, nullable — Gets the unique corporate identifier
      - `censorRatingId` string, nullable
      - `censorRatingNote` OcapiV1Translatable — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `ticketTypes` OcapiV1OrdersRelatedDataOrderRelatedTicketType[], required — Gets the list of related order related ticket type entities
      - `id` string, required
      - `description` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `longDescription` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `items` OcapiV1OrdersRelatedDataOrderRelatedItem[], required — Gets the list of related order related item entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `hoCode` string, required — Gets the Head Office code
      - `hopk` string, nullable — Gets the Head Office primary key
      - `isSundry` boolean — Gets a value indicating whether this is a sundry item
      - `isPreparationRequired` boolean — Gets a value indicating whether the item requires preparation
    - `showtimes` OcapiV1OrdersRelatedDataOrderRelatedShowtime[], required — Gets the list of related order related showtime entities
      - `id` string, required
      - `schedule` OcapiV1BrowsingMasterDataShowtimesShowtimeSchedule, required — Represents the dates and times relevant to a showtime, e.g. its start, end, film start, etc
        - `businessDate` string, date-time, required — Gets the showtime entity's business date
        - `startsAt` string, date-time, required — Gets the date and time that the showtime starts
        - `endsAt` string, date-time, required — Gets the date and time that the showtime ends
        - `filmStartsAt` string, date-time, required — Gets the date and time that the film screening starts
        - `filmEndsAt` string, date-time, required — Gets the date and time that the film screening ends
        - `inSeatItemDelivery` OcapiV1BrowsingMasterDataShowtimesShowtimeInSeatItemDeliverySchedule — Represents when in-seat item delivery is available for a showtime
          - `startsAt` string, date-time, required — Gets the date and time when in-seat item delivery becomes available
          - `endsAt` string, date-time, required — Gets the date and time when in-seat item delivery is no longer available
      - `filmId` string, required
      - `siteId` string, required
      - `screenId` string, required
    - `sites` union[], required — Gets the list of related site entities
      - union — Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities
        - OcapiV1LoyaltyMasterDataSitesLoyaltySite — Represents a site in Vista Loyalty
          - `location` OcapiV1GeographicLocation — Represents a set of geospatial coordinates; longitude and latitude, that can be used to pinpoint a location on a map
            - `latitude` number, double, required — Gets the latitude (expressed in degrees and minutes)
            - `longitude` number, double, required — Gets the longitude (expressed in degrees and minutes)
          - `contactDetails` OcapiV1BrowsingMasterDataSitesSiteContactDetails, required — Represents the contact details of a site
            - `phoneNumbers` OcapiV1PhoneNumber[], required — Gets the list of phone number entities
              - …
            - `email` string, nullable — Gets the email address
            - `address` OcapiV1BrowsingMasterDataSitesSiteAddress — Represents the physical address of a site
              - …
          - `ianaTimeZoneName` string, required — Gets the IANA time zone name
          - `id` string, required — Gets the unique identifier
          - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
            - `text` string, required — Gets the text in the default language
            - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
              - …
          - `hasSellableItems` boolean, required — Gets a value indicating whether the site has any sellable item entities
          - `allowedItemDeliveryMethods` OcapiV1SalesMasterDataItemsDeliveryMethodsItemDeliveryMethod[], required — Gets the list of allowed item delivery method entities
        - OcapiV1BrowsingMasterDataSitesSite — Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities
          - `id` string, required — Gets the unique identifier
          - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
            - `text` string, required — Gets the text in the default language
            - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
              - …
          - `location` OcapiV1GeographicLocation — Represents a set of geospatial coordinates; longitude and latitude, that can be used to pinpoint a location on a map
            - `latitude` number, double, required — Gets the latitude (expressed in degrees and minutes)
            - `longitude` number, double, required — Gets the longitude (expressed in degrees and minutes)
          - `contactDetails` OcapiV1BrowsingMasterDataSitesSiteContactDetails, required — Represents the contact details of a site
            - `phoneNumbers` OcapiV1PhoneNumber[], required — Gets the list of phone number entities
              - …
            - `email` string, nullable — Gets the email address
            - `address` OcapiV1BrowsingMasterDataSitesSiteAddress — Represents the physical address of a site
              - …
          - `ianaTimeZoneName` string, required — Gets the IANA time zone name
          - `hasSellableItems` boolean, required — Gets a value indicating whether the site has any sellable item entities
          - `allowedItemDeliveryMethods` OcapiV1SalesMasterDataItemsDeliveryMethodsItemDeliveryMethod[], required — Gets the list of allowed item delivery method entities
    - `screens` OcapiV1BrowsingMasterDataScreensScreen[], required — Gets the list of related screen entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `censorRatings` OcapiV1BrowsingMasterDataCensorRatingsCensorRating[], required — Gets the list of related censor rating entities
      - `id` string, required — Gets the unique identifier
      - `classification` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `classificationDescription` OcapiV1Translatable — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `ageRestriction` OcapiV1BrowsingMasterDataCensorRatingsCensorRatingAgeRestriction — Represents the age restriction of a censor rating
        - `minimumAge` integer, required — Gets the minimum age required
    - `itemServiceAreas` OcapiV1SalesMasterDataItemsItemServiceArea[], required — Gets the list of related item service area entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `shortName` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `itemShowtimeDeliveryWindows` OcapiV1SalesMasterDataItemsShowtimeDeliveryWindowsItemShowtimeDeliveryWindowMinutesFromStart[], required — Gets the list of related item showtime delivery window base entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `type` 'MinutesFromStart', required — Represents the type of an item showtime delivery window base
    - `subscriptionBillingOption` OcapiV1OrdersRelatedDataOrderRelatedSubscriptionBillingOption
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `subscriptionId` integer, required
      - `billingPeriodInMonths` integer, required
      - `isRecurring` boolean, required
    - `subscription` OcapiV1OrdersRelatedDataOrderRelatedSubscription — Represents the subscription data related to a subscription order
      - `id` integer, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `balanceType` OcapiV1LoyaltyBalanceTypesBalanceType — Represents an account in Vista Loyalty that tracks the spending or activity of a member
      - `id` integer, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `isPrimary` boolean, required — Gets a value indicating whether this is the primary balance type
      - `unitName` string, nullable — Gets the name of the balance units
      - `paymentConversionRate` number, double, nullable — Gets the conversion rate that applies when using balance units for an order member balance payment, if applicable
      - `unitDecimalPlaces` integer, required — Gets the number of decimal places used to format and calculate balance unit values
    - `areaCategories` OcapiV1SeatingMasterDataAreaCategory[], required — Gets the list of related area category entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `hopk` string, nullable — Gets the Head Office primary key
      - `isAllocatedSeating` boolean, required — Gets a value indicating whether the seat entities are allocated
      - `isInSeatItemDeliveryAvailable` boolean, required — Gets a value indicating whether in-seat item delivery is available for seats belonging to this area category
    - `itemPostalDeliveryMethods` OcapiV1OrdersRelatedDataOrderRelatedItemPostalDeliveryMethod[], required — Gets the list of related order related item postal delivery method entities
      - `isDefault` boolean, required — Gets a value indicating whether this is the default delivery method
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text

## Other responses

- `400` — Request property is invalid or missing, or invalid order type.
- `401` — No member authenticated.
- `404` — Order does not exist.

---

[API](https://skmtc.dev/vista/apis/vista-digital-platform.md) · [All operations](https://skmtc.dev/vista/apis/vista-digital-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vista/vista-digital-platform/revisions/e1216e3df445/schema)
