openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations PromotedPurchases 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: PromotedPurchases paths: /v1/promotedPurchases: post: tags: - PromotedPurchases operationId: promotedPurchases_createInstance requestBody: description: PromotedPurchase representation content: application/json: schema: $ref: '#/components/schemas/PromotedPurchaseCreateRequest' 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 PromotedPurchase content: application/json: schema: $ref: '#/components/schemas/PromotedPurchaseResponse' '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 Promoted Purchases /v1/promotedPurchases/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - PromotedPurchases operationId: promotedPurchases_getInstance parameters: - 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 required: false - name: fields[inAppPurchases] in: query description: the fields to include for returned resources of type inAppPurchases schema: type: array items: type: string enum: - name - productId - inAppPurchaseType - state - reviewNote - familySharable - contentHosting - inAppPurchaseLocalizations - pricePoints - content - appStoreReviewScreenshot - promotedPurchase - iapPriceSchedule - inAppPurchaseAvailability - images - offerCodes 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: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - inAppPurchaseV2 - subscription style: form explode: false 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 PromotedPurchase content: application/json: schema: $ref: '#/components/schemas/PromotedPurchaseResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get Promoted Purchases patch: tags: - PromotedPurchases operationId: promotedPurchases_updateInstance requestBody: description: PromotedPurchase representation content: application/json: schema: $ref: '#/components/schemas/PromotedPurchaseUpdateRequest' 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 PromotedPurchase content: application/json: schema: $ref: '#/components/schemas/PromotedPurchaseResponse' '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 Promoted Purchases delete: tags: - PromotedPurchases operationId: promotedPurchases_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 Promoted Purchases components: schemas: DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self PromotedPurchaseUpdateRequest: type: object title: PromotedPurchaseUpdateRequest properties: data: type: object properties: type: type: string enum: - promotedPurchases id: type: string attributes: type: object properties: visibleForAllUsers: type: boolean nullable: true enabled: type: boolean nullable: true required: - id - type required: - data RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference PromotedPurchaseCreateRequest: type: object title: PromotedPurchaseCreateRequest properties: data: type: object properties: type: type: string enum: - promotedPurchases attributes: type: object properties: visibleForAllUsers: type: boolean enabled: type: boolean nullable: true required: - visibleForAllUsers 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 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 required: - app required: - relationships - attributes - type required: - data PromotedPurchaseResponse: type: object title: PromotedPurchaseResponse properties: data: $ref: '#/components/schemas/PromotedPurchase' included: type: array items: oneOf: - $ref: '#/components/schemas/InAppPurchaseV2' - $ref: '#/components/schemas/Subscription' discriminator: propertyName: type mapping: subscriptions: '#/components/schemas/Subscription' inAppPurchases: '#/components/schemas/InAppPurchaseV2' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links ResourceLinks: type: object properties: self: 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 InAppPurchaseV2: type: object title: InAppPurchaseV2 properties: type: type: string enum: - inAppPurchases id: type: string attributes: type: object properties: name: type: string productId: type: string inAppPurchaseType: $ref: '#/components/schemas/InAppPurchaseType' state: $ref: '#/components/schemas/InAppPurchaseState' reviewNote: type: string familySharable: type: boolean contentHosting: type: boolean relationships: type: object properties: inAppPurchaseLocalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - inAppPurchaseLocalizations id: type: string required: - id - type pricePoints: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - inAppPurchasePricePoints id: type: string required: - id - type content: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - inAppPurchaseContents id: type: string required: - id - type appStoreReviewScreenshot: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - inAppPurchaseAppStoreReviewScreenshots id: type: string required: - id - type promotedPurchase: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - promotedPurchases id: type: string required: - id - type iapPriceSchedule: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - inAppPurchasePriceSchedules id: type: string required: - id - type inAppPurchaseAvailability: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - inAppPurchaseAvailabilities 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: - inAppPurchaseImages 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: - inAppPurchaseOfferCodes id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type 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 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 ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter InAppPurchaseState: type: string enum: - MISSING_METADATA - WAITING_FOR_UPLOAD - PROCESSING_CONTENT - READY_TO_SUBMIT - WAITING_FOR_REVIEW - IN_REVIEW - DEVELOPER_ACTION_NEEDED - PENDING_BINARY_APPROVAL - APPROVED - DEVELOPER_REMOVED_FROM_SALE - REMOVED_FROM_SALE - REJECTED 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 ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer InAppPurchaseType: type: string enum: - CONSUMABLE - NON_CONSUMABLE - NON_RENEWING_SUBSCRIPTION PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT