openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations SubscriptionImages 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: SubscriptionImages paths: /v1/subscriptionImages: post: tags: - SubscriptionImages operationId: subscriptionImages_createInstance requestBody: description: SubscriptionImage representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionImageCreateRequest' 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 SubscriptionImage content: application/json: schema: $ref: '#/components/schemas/SubscriptionImageResponse' '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 Images /v1/subscriptionImages/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - SubscriptionImages operationId: subscriptionImages_getInstance parameters: - 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 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: - 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 SubscriptionImage content: application/json: schema: $ref: '#/components/schemas/SubscriptionImageResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get Subscription Images patch: tags: - SubscriptionImages operationId: subscriptionImages_updateInstance requestBody: description: SubscriptionImage representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionImageUpdateRequest' 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 SubscriptionImage content: application/json: schema: $ref: '#/components/schemas/SubscriptionImageResponse' '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 Images delete: tags: - SubscriptionImages operationId: subscriptionImages_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 Images components: schemas: DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self ImageAsset: type: object properties: templateUrl: type: string width: type: integer height: type: integer RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference ResourceLinks: type: object properties: self: type: string format: uri-reference UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' 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 PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging 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 SubscriptionImageUpdateRequest: type: object title: SubscriptionImageUpdateRequest properties: data: type: object properties: type: type: string enum: - subscriptionImages id: type: string attributes: type: object properties: sourceFileChecksum: type: string nullable: true uploaded: type: boolean nullable: true required: - id - type required: - data SubscriptionImageResponse: type: object title: SubscriptionImageResponse properties: data: $ref: '#/components/schemas/SubscriptionImage' included: type: array items: $ref: '#/components/schemas/Subscription' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links 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 SubscriptionImageCreateRequest: type: object title: SubscriptionImageCreateRequest properties: data: type: object properties: type: type: string enum: - subscriptionImages attributes: type: object properties: fileSize: type: integer fileName: type: string required: - fileName - fileSize relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type required: - data required: - subscription required: - relationships - attributes - type required: - data ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer 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 HttpHeader: type: object properties: name: type: string value: type: string securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT