openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations SubscriptionGroups 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. It covers apps, builds, TestFlight, in-app purchases, subscriptions, Game Center, Xcode Cloud, provisioning, pricing and availability, and the full reporting surface (analytics, sales and trends, financial reports, power and performance). This spec is the official OpenAPI 3.0 document published by Apple at https://developer.apple.com/app-store-connect/api/ — mirrored here unmodified except for title-cased operation summaries. servers: - url: https://api.appstoreconnect.apple.com/ security: - itc-bearer-token: [] tags: - name: SubscriptionGroups paths: /v1/subscriptionGroups: post: tags: - SubscriptionGroups 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: - SubscriptionGroups 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: - SubscriptionGroups 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: - SubscriptionGroups 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: - SubscriptionGroups 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: - SubscriptionGroups 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: - SubscriptionGroups 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: - SubscriptionGroups 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: 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 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 ImageAsset: type: object properties: templateUrl: type: string width: type: integer height: type: integer PagedDocumentLinks: type: object properties: self: type: string format: uri-reference first: type: string format: uri-reference next: type: string format: uri-reference required: - self SubscriptionOfferMode: type: string enum: - PAY_AS_YOU_GO - PAY_UP_FRONT - FREE_TRIAL SubscriptionOfferDuration: type: string enum: - THREE_DAYS - ONE_WEEK - TWO_WEEKS - ONE_MONTH - TWO_MONTHS - THREE_MONTHS - SIX_MONTHS - ONE_YEAR 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 ResourceLinks: type: object properties: self: type: string format: uri-reference 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 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 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 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 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 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 DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' 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 nullable: true required: - id - type required: - data 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 IntegerRange: type: object properties: minimum: type: integer maximum: type: integer 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 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 RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference 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 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 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 ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer SubscriptionCustomerEligibility: type: string enum: - NEW - EXISTING - EXPIRED 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 PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging 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 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 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 SubscriptionOfferEligibility: type: string enum: - STACK_WITH_INTRO_OFFERS - REPLACE_INTRO_OFFERS AppMediaStateError: type: object properties: code: type: string description: type: string 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 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 HttpHeader: type: object properties: name: type: string value: type: string 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 securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT