openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppCustomProductPageVersions 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: AppCustomProductPageVersions paths: /v1/appCustomProductPageVersions: post: tags: - AppCustomProductPageVersions operationId: appCustomProductPageVersions_createInstance requestBody: description: AppCustomProductPageVersion representation content: application/json: schema: $ref: '#/components/schemas/AppCustomProductPageVersionCreateRequest' 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 AppCustomProductPageVersion content: application/json: schema: $ref: '#/components/schemas/AppCustomProductPageVersionResponse' '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 App Custom Product Page Versions /v1/appCustomProductPageVersions/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCustomProductPageVersions operationId: appCustomProductPageVersions_getInstance parameters: - name: fields[appCustomProductPageVersions] in: query description: the fields to include for returned resources of type appCustomProductPageVersions schema: type: array items: type: string enum: - version - state - deepLink - appCustomProductPage - appCustomProductPageLocalizations style: form explode: false required: false - name: fields[appCustomProductPages] in: query description: the fields to include for returned resources of type appCustomProductPages schema: type: array items: type: string enum: - name - url - visible - app - appCustomProductPageVersions style: form explode: false required: false - name: fields[appCustomProductPageLocalizations] in: query description: the fields to include for returned resources of type appCustomProductPageLocalizations schema: type: array items: type: string enum: - locale - promotionalText - appCustomProductPageVersion - appScreenshotSets - appPreviewSets - searchKeywords 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: - appCustomProductPage - appCustomProductPageLocalizations style: form explode: false required: false - name: limit[appCustomProductPageLocalizations] in: query description: maximum number of related appCustomProductPageLocalizations 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 AppCustomProductPageVersion content: application/json: schema: $ref: '#/components/schemas/AppCustomProductPageVersionResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Custom Product Page Versions patch: tags: - AppCustomProductPageVersions operationId: appCustomProductPageVersions_updateInstance requestBody: description: AppCustomProductPageVersion representation content: application/json: schema: $ref: '#/components/schemas/AppCustomProductPageVersionUpdateRequest' 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 AppCustomProductPageVersion content: application/json: schema: $ref: '#/components/schemas/AppCustomProductPageVersionResponse' '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 App Custom Product Page Versions /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCustomProductPageVersions operationId: appCustomProductPageVersions_appCustomProductPageLocalizations_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/AppCustomProductPageVersionAppCustomProductPageLocalizationsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Custom Product Page Versions / App Custom Product Page Localizations /v1/appCustomProductPageVersions/{id}/appCustomProductPageLocalizations: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCustomProductPageVersions operationId: appCustomProductPageVersions_appCustomProductPageLocalizations_getToManyRelated parameters: - name: filter[locale] in: query description: filter by attribute 'locale' schema: type: array items: type: string style: form explode: false - name: fields[appCustomProductPageLocalizations] in: query description: the fields to include for returned resources of type appCustomProductPageLocalizations schema: type: array items: type: string enum: - locale - promotionalText - appCustomProductPageVersion - appScreenshotSets - appPreviewSets - searchKeywords style: form explode: false - name: fields[appCustomProductPageVersions] in: query description: the fields to include for returned resources of type appCustomProductPageVersions schema: type: array items: type: string enum: - version - state - deepLink - appCustomProductPage - appCustomProductPageLocalizations style: form explode: false - name: fields[appScreenshotSets] in: query description: the fields to include for returned resources of type appScreenshotSets schema: type: array items: type: string enum: - screenshotDisplayType - appStoreVersionLocalization - appCustomProductPageLocalization - appStoreVersionExperimentTreatmentLocalization - appScreenshots style: form explode: false - name: fields[appPreviewSets] in: query description: the fields to include for returned resources of type appPreviewSets schema: type: array items: type: string enum: - previewType - appStoreVersionLocalization - appCustomProductPageLocalization - appStoreVersionExperimentTreatmentLocalization - appPreviews style: form explode: false - name: fields[appKeywords] in: query description: the fields to include for returned resources of type appKeywords schema: type: array items: type: string enum: [] 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: - appCustomProductPageVersion - appScreenshotSets - appPreviewSets - searchKeywords style: form explode: false - name: limit[appScreenshotSets] in: query description: maximum number of related appScreenshotSets returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[appPreviewSets] in: query description: maximum number of related appPreviewSets returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[searchKeywords] in: query description: maximum number of related searchKeywords 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 AppCustomProductPageLocalizations content: application/json: schema: $ref: '#/components/schemas/AppCustomProductPageLocalizationsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Custom Product Page Versions / App Custom Product Page Localizations components: schemas: PagedDocumentLinks: type: object properties: self: type: string format: uri-reference first: type: string format: uri-reference next: type: string format: uri-reference required: - self ResourceLinks: type: object properties: self: type: string format: uri-reference 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 DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self AppScreenshotSet: type: object title: AppScreenshotSet properties: type: type: string enum: - appScreenshotSets id: type: string attributes: type: object properties: screenshotDisplayType: $ref: '#/components/schemas/ScreenshotDisplayType' relationships: type: object properties: appStoreVersionLocalization: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersionLocalizations id: type: string required: - id - type appCustomProductPageLocalization: type: object properties: data: type: object properties: type: type: string enum: - appCustomProductPageLocalizations id: type: string required: - id - type appStoreVersionExperimentTreatmentLocalization: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersionExperimentTreatmentLocalizations id: type: string required: - id - type appScreenshots: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appScreenshots id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type PreviewType: type: string enum: - IPHONE_67 - IPHONE_61 - IPHONE_65 - IPHONE_58 - IPHONE_55 - IPHONE_47 - IPHONE_40 - IPHONE_35 - IPAD_PRO_3GEN_129 - IPAD_PRO_3GEN_11 - IPAD_PRO_129 - IPAD_105 - IPAD_97 - DESKTOP - APPLE_TV - APPLE_VISION_PRO AppCustomProductPageVersion: type: object title: AppCustomProductPageVersion properties: type: type: string enum: - appCustomProductPageVersions id: type: string attributes: type: object properties: version: type: string state: type: string enum: - PREPARE_FOR_SUBMISSION - READY_FOR_REVIEW - WAITING_FOR_REVIEW - IN_REVIEW - ACCEPTED - APPROVED - REPLACED_WITH_NEW_VERSION - REJECTED deepLink: type: string format: uri relationships: type: object properties: appCustomProductPage: type: object properties: data: type: object properties: type: type: string enum: - appCustomProductPages id: type: string required: - id - type appCustomProductPageLocalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appCustomProductPageLocalizations id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type 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 RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference AppCustomProductPageVersionAppCustomProductPageLocalizationsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appCustomProductPageLocalizations id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links AppCustomProductPageVersionCreateRequest: type: object title: AppCustomProductPageVersionCreateRequest properties: data: type: object properties: type: type: string enum: - appCustomProductPageVersions attributes: type: object properties: deepLink: type: string format: uri nullable: true relationships: type: object properties: appCustomProductPage: type: object properties: data: type: object properties: type: type: string enum: - appCustomProductPages id: type: string required: - id - type required: - data appCustomProductPageLocalizations: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appCustomProductPageLocalizations id: type: string required: - id - type required: - appCustomProductPage required: - relationships - type required: - data ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer AppCustomProductPage: type: object title: AppCustomProductPage properties: type: type: string enum: - appCustomProductPages id: type: string attributes: type: object properties: name: type: string url: type: string format: uri visible: type: boolean relationships: type: object properties: app: type: object properties: data: type: object properties: type: type: string enum: - apps id: type: string required: - id - type appCustomProductPageVersions: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appCustomProductPageVersions 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 AppCustomProductPageVersionUpdateRequest: type: object title: AppCustomProductPageVersionUpdateRequest properties: data: type: object properties: type: type: string enum: - appCustomProductPageVersions id: type: string attributes: type: object properties: deepLink: type: string format: uri nullable: true required: - id - type required: - data ScreenshotDisplayType: type: string enum: - APP_IPHONE_67 - APP_IPHONE_61 - APP_IPHONE_65 - APP_IPHONE_58 - APP_IPHONE_55 - APP_IPHONE_47 - APP_IPHONE_40 - APP_IPHONE_35 - APP_IPAD_PRO_3GEN_129 - APP_IPAD_PRO_3GEN_11 - APP_IPAD_PRO_129 - APP_IPAD_105 - APP_IPAD_97 - APP_DESKTOP - APP_WATCH_ULTRA - APP_WATCH_SERIES_10 - APP_WATCH_SERIES_7 - APP_WATCH_SERIES_4 - APP_WATCH_SERIES_3 - APP_APPLE_TV - APP_APPLE_VISION_PRO - IMESSAGE_APP_IPHONE_67 - IMESSAGE_APP_IPHONE_61 - IMESSAGE_APP_IPHONE_65 - IMESSAGE_APP_IPHONE_58 - IMESSAGE_APP_IPHONE_55 - IMESSAGE_APP_IPHONE_47 - IMESSAGE_APP_IPHONE_40 - IMESSAGE_APP_IPAD_PRO_3GEN_129 - IMESSAGE_APP_IPAD_PRO_3GEN_11 - IMESSAGE_APP_IPAD_PRO_129 - IMESSAGE_APP_IPAD_105 - IMESSAGE_APP_IPAD_97 AppCustomProductPageLocalization: type: object title: AppCustomProductPageLocalization properties: type: type: string enum: - appCustomProductPageLocalizations id: type: string attributes: type: object properties: locale: type: string promotionalText: type: string relationships: type: object properties: appCustomProductPageVersion: type: object properties: data: type: object properties: type: type: string enum: - appCustomProductPageVersions id: type: string required: - id - type appScreenshotSets: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appScreenshotSets id: type: string required: - id - type appPreviewSets: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appPreviewSets id: type: string required: - id - type searchKeywords: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appKeywords id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppCustomProductPageLocalizationsResponse: type: object title: AppCustomProductPageLocalizationsResponse properties: data: type: array items: $ref: '#/components/schemas/AppCustomProductPageLocalization' included: type: array items: oneOf: - $ref: '#/components/schemas/AppCustomProductPageVersion' - $ref: '#/components/schemas/AppKeyword' - $ref: '#/components/schemas/AppPreviewSet' - $ref: '#/components/schemas/AppScreenshotSet' discriminator: propertyName: type mapping: appScreenshotSets: '#/components/schemas/AppScreenshotSet' appKeywords: '#/components/schemas/AppKeyword' appCustomProductPageVersions: '#/components/schemas/AppCustomProductPageVersion' appPreviewSets: '#/components/schemas/AppPreviewSet' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links AppCustomProductPageVersionResponse: type: object title: AppCustomProductPageVersionResponse properties: data: $ref: '#/components/schemas/AppCustomProductPageVersion' included: type: array items: oneOf: - $ref: '#/components/schemas/AppCustomProductPageLocalization' - $ref: '#/components/schemas/AppCustomProductPage' discriminator: propertyName: type mapping: appCustomProductPageLocalizations: '#/components/schemas/AppCustomProductPageLocalization' appCustomProductPages: '#/components/schemas/AppCustomProductPage' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links AppPreviewSet: type: object title: AppPreviewSet properties: type: type: string enum: - appPreviewSets id: type: string attributes: type: object properties: previewType: $ref: '#/components/schemas/PreviewType' relationships: type: object properties: appStoreVersionLocalization: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersionLocalizations id: type: string required: - id - type appCustomProductPageLocalization: type: object properties: data: type: object properties: type: type: string enum: - appCustomProductPageLocalizations id: type: string required: - id - type appStoreVersionExperimentTreatmentLocalization: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersionExperimentTreatmentLocalizations id: type: string required: - id - type appPreviews: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appPreviews id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppKeyword: type: object title: AppKeyword properties: type: type: string enum: - appKeywords id: type: string links: $ref: '#/components/schemas/ResourceLinks' required: - id - type securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT