openapi: 3.2.0 info: title: App Store Connect Subscription Groups API version: 4.3.1 x-platforms: app_store_connect_api: App Store Connect API description: The App Store Connect API is the standards-based REST API Apple provides to automate tasks across App Store Connect, Xcode, and Certificates, Identifiers & Profiles. servers: - url: https://api.appstoreconnect.apple.com/ security: - itc-bearer-token: [] tags: - name: Subscription groups paths: /v1/subscriptionGroups: post: tags: - Subscription groups operationId: subscriptionGroups_createInstance requestBody: description: SubscriptionGroup representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupCreateRequest' required: true responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '201': description: Single SubscriptionGroup content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupResponse' '409': description: Request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Create Subscription Groups /v1/subscriptionGroups/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - Subscription groups operationId: subscriptionGroups_getInstance parameters: - name: fields[subscriptionGroups] in: query description: the fields to include for returned resources of type subscriptionGroups schema: type: array items: type: string enum: - referenceName - subscriptions - subscriptionGroupLocalizations style: form explode: false required: false - name: fields[subscriptions] in: query description: the fields to include for returned resources of type subscriptions schema: type: array items: type: string enum: - name - productId - familySharable - state - subscriptionPeriod - reviewNote - groupLevel - subscriptionLocalizations - appStoreReviewScreenshot - group - introductoryOffers - promotionalOffers - offerCodes - prices - pricePoints - promotedPurchase - subscriptionAvailability - winBackOffers - images style: form explode: false required: false - name: fields[subscriptionGroupLocalizations] in: query description: the fields to include for returned resources of type subscriptionGroupLocalizations schema: type: array items: type: string enum: - name - customAppName - locale - state - subscriptionGroup style: form explode: false required: false - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - subscriptions - subscriptionGroupLocalizations style: form explode: false required: false - name: limit[subscriptionGroupLocalizations] in: query description: maximum number of related subscriptionGroupLocalizations returned (when they are included) schema: type: integer maximum: 50 style: form required: false - name: limit[subscriptions] in: query description: maximum number of related subscriptions returned (when they are included) schema: type: integer maximum: 50 style: form required: false responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: Single SubscriptionGroup content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get Subscription Groups patch: tags: - Subscription groups operationId: subscriptionGroups_updateInstance requestBody: description: SubscriptionGroup representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupUpdateRequest' required: true responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: Single SubscriptionGroup content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupResponse' '409': description: Request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Update Subscription Groups delete: tags: - Subscription groups operationId: subscriptionGroups_deleteInstance responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '204': description: Success (no content) '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Delete Subscription Groups /v1/subscriptionGroups/{id}/relationships/subscriptionGroupLocalizations: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - Subscription groups operationId: subscriptionGroups_subscriptionGroupLocalizations_getToManyRelationship parameters: - name: limit in: query description: maximum resources per page schema: type: integer maximum: 200 style: form responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: List of related linkages content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupSubscriptionGroupLocalizationsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related Subscription Groups / Subscription Group Localizations /v1/subscriptionGroups/{id}/subscriptionGroupLocalizations: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - Subscription groups operationId: subscriptionGroups_subscriptionGroupLocalizations_getToManyRelated parameters: - name: fields[subscriptionGroupLocalizations] in: query description: the fields to include for returned resources of type subscriptionGroupLocalizations schema: type: array items: type: string enum: - name - customAppName - locale - state - subscriptionGroup style: form explode: false - name: fields[subscriptionGroups] in: query description: the fields to include for returned resources of type subscriptionGroups schema: type: array items: type: string enum: - referenceName - subscriptions - subscriptionGroupLocalizations style: form explode: false - name: limit in: query description: maximum resources per page schema: type: integer maximum: 200 style: form - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - subscriptionGroup style: form explode: false responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: List of SubscriptionGroupLocalizations content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupLocalizationsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related Subscription Groups / Subscription Group Localizations /v1/subscriptionGroups/{id}/relationships/subscriptions: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - Subscription groups operationId: subscriptionGroups_subscriptions_getToManyRelationship parameters: - name: limit in: query description: maximum resources per page schema: type: integer maximum: 200 style: form responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: List of related linkages content: application/json: schema: $ref: '#/components/schemas/SubscriptionGroupSubscriptionsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related Subscription Groups / Subscriptions /v1/subscriptionGroups/{id}/subscriptions: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - Subscription groups operationId: subscriptionGroups_subscriptions_getToManyRelated parameters: - name: filter[productId] in: query description: filter by attribute 'productId' schema: type: array items: type: string style: form explode: false - name: filter[name] in: query description: filter by attribute 'name' schema: type: array items: type: string style: form explode: false - name: filter[state] in: query description: filter by attribute 'state' schema: type: array items: type: string enum: - MISSING_METADATA - READY_TO_SUBMIT - WAITING_FOR_REVIEW - IN_REVIEW - DEVELOPER_ACTION_NEEDED - PENDING_BINARY_APPROVAL - APPROVED - DEVELOPER_REMOVED_FROM_SALE - REMOVED_FROM_SALE - REJECTED style: form explode: false - name: sort in: query description: comma-separated list of sort expressions; resources will be sorted as specified schema: type: array items: type: string enum: - name - -name style: form explode: false - name: fields[subscriptions] in: query description: the fields to include for returned resources of type subscriptions schema: type: array items: type: string enum: - name - productId - familySharable - state - subscriptionPeriod - reviewNote - groupLevel - subscriptionLocalizations - appStoreReviewScreenshot - group - introductoryOffers - promotionalOffers - offerCodes - prices - pricePoints - promotedPurchase - subscriptionAvailability - winBackOffers - images style: form explode: false - name: fields[subscriptionLocalizations] in: query description: the fields to include for returned resources of type subscriptionLocalizations schema: type: array items: type: string enum: - name - locale - description - state - subscription style: form explode: false - name: fields[subscriptionAppStoreReviewScreenshots] in: query description: the fields to include for returned resources of type subscriptionAppStoreReviewScreenshots schema: type: array items: type: string enum: - fileSize - fileName - sourceFileChecksum - imageAsset - assetToken - assetType - uploadOperations - assetDeliveryState - subscription style: form explode: false - name: fields[subscriptionGroups] in: query description: the fields to include for returned resources of type subscriptionGroups schema: type: array items: type: string enum: - referenceName - subscriptions - subscriptionGroupLocalizations style: form explode: false - name: fields[subscriptionIntroductoryOffers] in: query description: the fields to include for returned resources of type subscriptionIntroductoryOffers schema: type: array items: type: string enum: - startDate - endDate - duration - offerMode - numberOfPeriods - subscription - territory - subscriptionPricePoint style: form explode: false - name: fields[subscriptionPromotionalOffers] in: query description: the fields to include for returned resources of type subscriptionPromotionalOffers schema: type: array items: type: string enum: - duration - name - numberOfPeriods - offerCode - offerMode - subscription - prices style: form explode: false - name: fields[subscriptionOfferCodes] in: query description: the fields to include for returned resources of type subscriptionOfferCodes schema: type: array items: type: string enum: - name - customerEligibilities - offerEligibility - duration - offerMode - numberOfPeriods - totalNumberOfCodes - productionCodeCount - sandboxCodeCount - active - autoRenewEnabled - subscription - oneTimeUseCodes - customCodes - prices style: form explode: false - name: fields[subscriptionPrices] in: query description: the fields to include for returned resources of type subscriptionPrices schema: type: array items: type: string enum: - startDate - preserved - territory - subscriptionPricePoint style: form explode: false - name: fields[promotedPurchases] in: query description: the fields to include for returned resources of type promotedPurchases schema: type: array items: type: string enum: - visibleForAllUsers - enabled - state - inAppPurchaseV2 - subscription style: form explode: false - name: fields[subscriptionAvailabilities] in: query description: the fields to include for returned resources of type subscriptionAvailabilities schema: type: array items: type: string enum: - availableInNewTerritories - availableTerritories style: form explode: false - name: fields[winBackOffers] in: query description: the fields to include for returned resources of type winBackOffers schema: type: array items: type: string enum: - referenceName - offerId - duration - offerMode - periodCount - customerEligibilityPaidSubscriptionDurationInMonths - customerEligibilityTimeSinceLastSubscribedInMonths - customerEligibilityWaitBetweenOffersInMonths - startDate - endDate - priority - promotionIntent - prices style: form explode: false - name: fields[subscriptionImages] in: query description: the fields to include for returned resources of type subscriptionImages schema: type: array items: type: string enum: - fileSize - fileName - sourceFileChecksum - assetToken - imageAsset - uploadOperations - state - subscription style: form explode: false - name: limit in: query description: maximum resources per page schema: type: integer maximum: 200 style: form - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - subscriptionLocalizations - appStoreReviewScreenshot - group - introductoryOffers - promotionalOffers - offerCodes - prices - promotedPurchase - subscriptionAvailability - winBackOffers - images style: form explode: false - name: limit[subscriptionLocalizations] in: query description: maximum number of related subscriptionLocalizations returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[introductoryOffers] in: query description: maximum number of related introductoryOffers returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[promotionalOffers] in: query description: maximum number of related promotionalOffers returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[offerCodes] in: query description: maximum number of related offerCodes returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[prices] in: query description: maximum number of related prices returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[winBackOffers] in: query description: maximum number of related winBackOffers returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[images] in: query description: maximum number of related images returned (when they are included) schema: type: integer maximum: 50 style: form responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: List of Subscriptions content: application/json: schema: $ref: '#/components/schemas/SubscriptionsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related Subscription Groups / Subscriptions components: schemas: SubscriptionsResponse: type: object title: SubscriptionsResponse properties: data: type: array items: $ref: '#/components/schemas/Subscription' included: type: array items: oneOf: - $ref: '#/components/schemas/PromotedPurchase' - $ref: '#/components/schemas/SubscriptionAppStoreReviewScreenshot' - $ref: '#/components/schemas/SubscriptionAvailability' - $ref: '#/components/schemas/SubscriptionGroup' - $ref: '#/components/schemas/SubscriptionImage' - $ref: '#/components/schemas/SubscriptionIntroductoryOffer' - $ref: '#/components/schemas/SubscriptionLocalization' - $ref: '#/components/schemas/SubscriptionOfferCode' - $ref: '#/components/schemas/SubscriptionPrice' - $ref: '#/components/schemas/SubscriptionPromotionalOffer' - $ref: '#/components/schemas/WinBackOffer' discriminator: propertyName: type mapping: subscriptionAppStoreReviewScreenshots: '#/components/schemas/SubscriptionAppStoreReviewScreenshot' promotedPurchases: '#/components/schemas/PromotedPurchase' subscriptionGroups: '#/components/schemas/SubscriptionGroup' subscriptionImages: '#/components/schemas/SubscriptionImage' subscriptionPrices: '#/components/schemas/SubscriptionPrice' winBackOffers: '#/components/schemas/WinBackOffer' subscriptionIntroductoryOffers: '#/components/schemas/SubscriptionIntroductoryOffer' subscriptionOfferCodes: '#/components/schemas/SubscriptionOfferCode' subscriptionPromotionalOffers: '#/components/schemas/SubscriptionPromotionalOffer' subscriptionLocalizations: '#/components/schemas/SubscriptionLocalization' subscriptionAvailabilities: '#/components/schemas/SubscriptionAvailability' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter ResourceLinks: type: object properties: self: type: string format: uri-reference AppMediaStateError: type: object properties: code: type: string description: type: string DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self SubscriptionImage: type: object title: SubscriptionImage properties: type: type: string enum: - subscriptionImages id: type: string attributes: type: object properties: fileSize: type: integer fileName: type: string sourceFileChecksum: type: string assetToken: type: string imageAsset: $ref: '#/components/schemas/ImageAsset' uploadOperations: type: array items: $ref: '#/components/schemas/UploadOperation' state: type: string enum: - AWAITING_UPLOAD - UPLOAD_COMPLETE - FAILED - PREPARE_FOR_SUBMISSION - WAITING_FOR_REVIEW - APPROVED - REJECTED relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type SubscriptionAppStoreReviewScreenshot: type: object title: SubscriptionAppStoreReviewScreenshot properties: type: type: string enum: - subscriptionAppStoreReviewScreenshots id: type: string attributes: type: object properties: fileSize: type: integer fileName: type: string sourceFileChecksum: type: string imageAsset: $ref: '#/components/schemas/ImageAsset' assetToken: type: string assetType: type: string uploadOperations: type: array items: $ref: '#/components/schemas/UploadOperation' assetDeliveryState: $ref: '#/components/schemas/AppMediaAssetState' relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer SubscriptionPromotionalOffer: type: object title: SubscriptionPromotionalOffer properties: type: type: string enum: - subscriptionPromotionalOffers id: type: string attributes: type: object properties: duration: $ref: '#/components/schemas/SubscriptionOfferDuration' name: type: string numberOfPeriods: type: integer offerCode: type: string offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type prices: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionPromotionalOfferPrices id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type WinBackOffer: type: object title: WinBackOffer properties: type: type: string enum: - winBackOffers id: type: string attributes: type: object properties: referenceName: type: string offerId: type: string duration: $ref: '#/components/schemas/SubscriptionOfferDuration' offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' periodCount: type: integer customerEligibilityPaidSubscriptionDurationInMonths: type: integer customerEligibilityTimeSinceLastSubscribedInMonths: $ref: '#/components/schemas/IntegerRange' customerEligibilityWaitBetweenOffersInMonths: type: integer startDate: type: string format: date endDate: type: string format: date priority: type: string enum: - HIGH - NORMAL promotionIntent: type: string enum: - NOT_PROMOTED - USE_AUTO_GENERATED_ASSETS relationships: type: object properties: prices: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - winBackOfferPrices id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type SubscriptionOfferMode: type: string enum: - PAY_AS_YOU_GO - PAY_UP_FRONT - FREE_TRIAL PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging SubscriptionCustomerEligibility: type: string enum: - NEW - EXISTING - EXPIRED SubscriptionGroupResponse: type: object title: SubscriptionGroupResponse properties: data: $ref: '#/components/schemas/SubscriptionGroup' included: type: array items: oneOf: - $ref: '#/components/schemas/SubscriptionGroupLocalization' - $ref: '#/components/schemas/Subscription' discriminator: propertyName: type mapping: subscriptions: '#/components/schemas/Subscription' subscriptionGroupLocalizations: '#/components/schemas/SubscriptionGroupLocalization' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links SubscriptionPrice: type: object title: SubscriptionPrice properties: type: type: string enum: - subscriptionPrices id: type: string attributes: type: object properties: startDate: type: string format: date preserved: type: boolean relationships: type: object properties: territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type subscriptionPricePoint: type: object properties: data: type: object properties: type: type: string enum: - subscriptionPricePoints id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' SubscriptionAvailability: type: object title: SubscriptionAvailability properties: type: type: string enum: - subscriptionAvailabilities id: type: string attributes: type: object properties: availableInNewTerritories: type: boolean relationships: type: object properties: availableTerritories: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - territories id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type SubscriptionLocalization: type: object title: SubscriptionLocalization properties: type: type: string enum: - subscriptionLocalizations id: type: string attributes: type: object properties: name: type: string locale: type: string description: type: string state: type: string enum: - PREPARE_FOR_SUBMISSION - WAITING_FOR_REVIEW - APPROVED - REJECTED relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference AppMediaAssetState: type: object properties: errors: type: array items: $ref: '#/components/schemas/AppMediaStateError' warnings: type: array items: $ref: '#/components/schemas/AppMediaStateError' state: type: string enum: - AWAITING_UPLOAD - UPLOAD_COMPLETE - COMPLETE - FAILED ImageAsset: type: object properties: templateUrl: type: string width: type: integer height: type: integer HttpHeader: type: object properties: name: type: string value: type: string SubscriptionOfferDuration: type: string enum: - THREE_DAYS - ONE_WEEK - TWO_WEEKS - ONE_MONTH - TWO_MONTHS - THREE_MONTHS - SIX_MONTHS - ONE_YEAR SubscriptionIntroductoryOffer: type: object title: SubscriptionIntroductoryOffer properties: type: type: string enum: - subscriptionIntroductoryOffers id: type: string attributes: type: object properties: startDate: type: string format: date endDate: type: string format: date duration: $ref: '#/components/schemas/SubscriptionOfferDuration' offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' numberOfPeriods: type: integer relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type subscriptionPricePoint: type: object properties: data: type: object properties: type: type: string enum: - subscriptionPricePoints id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type SubscriptionGroupSubscriptionGroupLocalizationsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - subscriptionGroupLocalizations id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links SubscriptionGroupUpdateRequest: type: object title: SubscriptionGroupUpdateRequest properties: data: type: object properties: type: type: string enum: - subscriptionGroups id: type: string attributes: type: object properties: referenceName: type: - string - 'null' required: - id - type required: - data ErrorResponse: type: object properties: errors: type: array items: type: object properties: id: type: string status: type: string code: type: string title: type: string detail: type: string source: oneOf: - $ref: '#/components/schemas/ErrorSourcePointer' - $ref: '#/components/schemas/ErrorSourceParameter' links: $ref: '#/components/schemas/ErrorLinks' meta: type: object additionalProperties: {} required: - code - detail - status - title SubscriptionOfferCode: type: object title: SubscriptionOfferCode properties: type: type: string enum: - subscriptionOfferCodes id: type: string attributes: type: object properties: name: type: string customerEligibilities: type: array items: $ref: '#/components/schemas/SubscriptionCustomerEligibility' offerEligibility: $ref: '#/components/schemas/SubscriptionOfferEligibility' duration: $ref: '#/components/schemas/SubscriptionOfferDuration' offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' numberOfPeriods: type: integer totalNumberOfCodes: type: integer productionCodeCount: type: integer sandboxCodeCount: type: integer active: type: boolean autoRenewEnabled: type: boolean relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type oneTimeUseCodes: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodeOneTimeUseCodes id: type: string required: - id - type customCodes: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodeCustomCodes id: type: string required: - id - type prices: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodePrices id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type PagedDocumentLinks: type: object properties: self: type: string format: uri-reference first: type: string format: uri-reference next: type: string format: uri-reference required: - self SubscriptionOfferEligibility: type: string enum: - STACK_WITH_INTRO_OFFERS - REPLACE_INTRO_OFFERS SubscriptionGroupCreateRequest: type: object title: SubscriptionGroupCreateRequest properties: data: type: object properties: type: type: string enum: - subscriptionGroups attributes: type: object properties: referenceName: type: string required: - referenceName relationships: type: object properties: app: type: object properties: data: type: object properties: type: type: string enum: - apps id: type: string required: - id - type required: - data required: - app required: - relationships - attributes - type required: - data SubscriptionGroupSubscriptionsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links SubscriptionGroup: type: object title: SubscriptionGroup properties: type: type: string enum: - subscriptionGroups id: type: string attributes: type: object properties: referenceName: type: string relationships: type: object properties: subscriptions: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type subscriptionGroupLocalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionGroupLocalizations id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type PromotedPurchase: type: object title: PromotedPurchase properties: type: type: string enum: - promotedPurchases id: type: string attributes: type: object properties: visibleForAllUsers: type: boolean enabled: type: boolean state: type: string enum: - APPROVED - IN_REVIEW - PREPARE_FOR_SUBMISSION - REJECTED relationships: type: object properties: inAppPurchaseV2: type: object properties: data: type: object properties: type: type: string enum: - inAppPurchases id: type: string required: - id - type subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type ErrorLinks: type: object properties: about: type: string format: uri-reference associated: oneOf: - type: string format: uri-reference - type: object properties: href: type: string format: uri-reference meta: type: object properties: source: type: string SubscriptionGroupLocalizationsResponse: type: object title: SubscriptionGroupLocalizationsResponse properties: data: type: array items: $ref: '#/components/schemas/SubscriptionGroupLocalization' included: type: array items: $ref: '#/components/schemas/SubscriptionGroup' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links SubscriptionGroupLocalization: type: object title: SubscriptionGroupLocalization properties: type: type: string enum: - subscriptionGroupLocalizations id: type: string attributes: type: object properties: name: type: string customAppName: type: string locale: type: string state: type: string enum: - PREPARE_FOR_SUBMISSION - WAITING_FOR_REVIEW - APPROVED - REJECTED relationships: type: object properties: subscriptionGroup: type: object properties: data: type: object properties: type: type: string enum: - subscriptionGroups id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type IntegerRange: type: object properties: minimum: type: integer maximum: type: integer Subscription: type: object title: Subscription properties: type: type: string enum: - subscriptions id: type: string attributes: type: object properties: name: type: string productId: type: string familySharable: type: boolean state: type: string enum: - MISSING_METADATA - READY_TO_SUBMIT - WAITING_FOR_REVIEW - IN_REVIEW - DEVELOPER_ACTION_NEEDED - PENDING_BINARY_APPROVAL - APPROVED - DEVELOPER_REMOVED_FROM_SALE - REMOVED_FROM_SALE - REJECTED subscriptionPeriod: type: string enum: - ONE_WEEK - ONE_MONTH - TWO_MONTHS - THREE_MONTHS - SIX_MONTHS - ONE_YEAR reviewNote: type: string groupLevel: type: integer relationships: type: object properties: subscriptionLocalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionLocalizations id: type: string required: - id - type appStoreReviewScreenshot: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - subscriptionAppStoreReviewScreenshots id: type: string required: - id - type group: type: object properties: data: type: object properties: type: type: string enum: - subscriptionGroups id: type: string required: - id - type introductoryOffers: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionIntroductoryOffers id: type: string required: - id - type promotionalOffers: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionPromotionalOffers id: type: string required: - id - type offerCodes: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodes id: type: string required: - id - type prices: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionPrices id: type: string required: - id - type pricePoints: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' promotedPurchase: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - promotedPurchases id: type: string required: - id - type subscriptionAvailability: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - subscriptionAvailabilities id: type: string required: - id - type winBackOffers: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - winBackOffers id: type: string required: - id - type images: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionImages id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT