openapi: 3.2.0 info: title: App Store Connect App Previews API version: 4.3.1 x-platforms: app_store_connect_api: App Store Connect API description: The App Store Connect API is the standards-based REST API Apple provides to automate tasks across App Store Connect, Xcode, and Certificates, Identifiers & Profiles. servers: - url: https://api.appstoreconnect.apple.com/ security: - itc-bearer-token: [] tags: - name: App Previews paths: /v1/appPreviews: post: tags: - App Previews operationId: appPreviews_createInstance requestBody: description: AppPreview representation content: application/json: schema: $ref: '#/components/schemas/AppPreviewCreateRequest' 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 AppPreview content: application/json: schema: $ref: '#/components/schemas/AppPreviewResponse' '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 Previews /v1/appPreviews/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - App Previews operationId: appPreviews_getInstance parameters: - name: fields[appPreviews] in: query description: the fields to include for returned resources of type appPreviews schema: type: array items: type: string enum: - fileSize - fileName - sourceFileChecksum - previewFrameTimeCode - mimeType - videoUrl - previewFrameImage - previewImage - uploadOperations - assetDeliveryState - videoDeliveryState - appPreviewSet style: form explode: false required: 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 required: false - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - appPreviewSet 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 AppPreview content: application/json: schema: $ref: '#/components/schemas/AppPreviewResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Previews patch: tags: - App Previews operationId: appPreviews_updateInstance requestBody: description: AppPreview representation content: application/json: schema: $ref: '#/components/schemas/AppPreviewUpdateRequest' 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 AppPreview content: application/json: schema: $ref: '#/components/schemas/AppPreviewResponse' '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 Previews delete: tags: - App Previews operationId: appPreviews_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 App Previews components: schemas: ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter ResourceLinks: type: object properties: self: type: string format: uri-reference AppPreviewResponse: type: object title: AppPreviewResponse properties: data: $ref: '#/components/schemas/AppPreview' included: type: array items: $ref: '#/components/schemas/AppPreviewSet' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links AppMediaStateError: type: object properties: code: type: string description: type: string 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 DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer AppMediaPreviewFrameImageState: type: object properties: errors: type: array items: $ref: '#/components/schemas/AppMediaStateError' warnings: type: array items: $ref: '#/components/schemas/AppMediaStateError' state: type: string enum: - PROCESSING - COMPLETE - FAILED PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging 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 AppMediaVideoState: 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 - PROCESSING - COMPLETE - FAILED UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' 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 RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference ImageAsset: type: object properties: templateUrl: type: string width: type: integer height: type: integer HttpHeader: type: object properties: name: type: string value: type: string AppPreview: type: object title: AppPreview properties: type: type: string enum: - appPreviews id: type: string attributes: type: object properties: fileSize: type: integer fileName: type: string sourceFileChecksum: type: string previewFrameTimeCode: type: string mimeType: type: string videoUrl: type: string previewFrameImage: $ref: '#/components/schemas/PreviewFrameImage' previewImage: deprecated: true $ref: '#/components/schemas/ImageAsset' uploadOperations: type: array items: $ref: '#/components/schemas/UploadOperation' assetDeliveryState: deprecated: true $ref: '#/components/schemas/AppMediaAssetState' videoDeliveryState: $ref: '#/components/schemas/AppMediaVideoState' relationships: type: object properties: appPreviewSet: type: object properties: data: type: object properties: type: type: string enum: - appPreviewSets 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 AppPreviewCreateRequest: type: object title: AppPreviewCreateRequest properties: data: type: object properties: type: type: string enum: - appPreviews attributes: type: object properties: fileSize: type: integer fileName: type: string previewFrameTimeCode: type: - string - 'null' mimeType: type: - string - 'null' required: - fileName - fileSize relationships: type: object properties: appPreviewSet: type: object properties: data: type: object properties: type: type: string enum: - appPreviewSets id: type: string required: - id - type required: - data required: - appPreviewSet required: - relationships - attributes - type required: - data 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 PreviewFrameImage: type: object properties: image: $ref: '#/components/schemas/ImageAsset' state: $ref: '#/components/schemas/AppMediaPreviewFrameImageState' AppPreviewUpdateRequest: type: object title: AppPreviewUpdateRequest properties: data: type: object properties: type: type: string enum: - appPreviews id: type: string attributes: type: object properties: sourceFileChecksum: type: - string - 'null' previewFrameTimeCode: type: - string - 'null' uploaded: type: - boolean - 'null' required: - id - type required: - data securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT