openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppScreenshotSets 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: AppScreenshotSets paths: /v1/appScreenshotSets: post: tags: - AppScreenshotSets operationId: appScreenshotSets_createInstance requestBody: description: AppScreenshotSet representation content: application/json: schema: $ref: '#/components/schemas/AppScreenshotSetCreateRequest' 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 AppScreenshotSet content: application/json: schema: $ref: '#/components/schemas/AppScreenshotSetResponse' '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 Screenshot Sets /v1/appScreenshotSets/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppScreenshotSets operationId: appScreenshotSets_getInstance parameters: - 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 required: false - name: fields[appStoreVersionLocalizations] in: query description: the fields to include for returned resources of type appStoreVersionLocalizations schema: type: array items: type: string enum: - description - locale - keywords - marketingUrl - promotionalText - supportUrl - whatsNew - appStoreVersion - appScreenshotSets - appPreviewSets - searchKeywords 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: fields[appStoreVersionExperimentTreatmentLocalizations] in: query description: the fields to include for returned resources of type appStoreVersionExperimentTreatmentLocalizations schema: type: array items: type: string enum: - locale - appStoreVersionExperimentTreatment - appScreenshotSets - appPreviewSets style: form explode: false required: false - name: fields[appScreenshots] in: query description: the fields to include for returned resources of type appScreenshots schema: type: array items: type: string enum: - fileSize - fileName - sourceFileChecksum - imageAsset - assetToken - assetType - uploadOperations - assetDeliveryState - appScreenshotSet 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: - appStoreVersionLocalization - appCustomProductPageLocalization - appStoreVersionExperimentTreatmentLocalization - appScreenshots style: form explode: false required: false - name: limit[appScreenshots] in: query description: maximum number of related appScreenshots 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 AppScreenshotSet content: application/json: schema: $ref: '#/components/schemas/AppScreenshotSetResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Screenshot Sets delete: tags: - AppScreenshotSets operationId: appScreenshotSets_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 Screenshot Sets /v1/appScreenshotSets/{id}/relationships/appScreenshots: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppScreenshotSets operationId: appScreenshotSets_appScreenshots_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/AppScreenshotSetAppScreenshotsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Screenshot Sets / App Screenshots patch: tags: - AppScreenshotSets operationId: appScreenshotSets_appScreenshots_replaceToManyRelationship requestBody: description: List of related linkages content: application/json: schema: $ref: '#/components/schemas/AppScreenshotSetAppScreenshotsLinkagesRequest' 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' '409': description: Request entity error(s) 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: Replace Related App Screenshot Sets / App Screenshots /v1/appScreenshotSets/{id}/appScreenshots: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppScreenshotSets operationId: appScreenshotSets_appScreenshots_getToManyRelated parameters: - name: fields[appScreenshots] in: query description: the fields to include for returned resources of type appScreenshots schema: type: array items: type: string enum: - fileSize - fileName - sourceFileChecksum - imageAsset - assetToken - assetType - uploadOperations - assetDeliveryState - appScreenshotSet 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: 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: - appScreenshotSet 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 AppScreenshots content: application/json: schema: $ref: '#/components/schemas/AppScreenshotsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Screenshot Sets / App Screenshots components: schemas: 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 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 AppScreenshotSetAppScreenshotsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appScreenshots 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 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 AppScreenshotSetResponse: type: object title: AppScreenshotSetResponse properties: data: $ref: '#/components/schemas/AppScreenshotSet' included: type: array items: oneOf: - $ref: '#/components/schemas/AppCustomProductPageLocalization' - $ref: '#/components/schemas/AppScreenshot' - $ref: '#/components/schemas/AppStoreVersionExperimentTreatmentLocalization' - $ref: '#/components/schemas/AppStoreVersionLocalization' discriminator: propertyName: type mapping: appStoreVersionLocalizations: '#/components/schemas/AppStoreVersionLocalization' appCustomProductPageLocalizations: '#/components/schemas/AppCustomProductPageLocalization' appStoreVersionExperimentTreatmentLocalizations: '#/components/schemas/AppStoreVersionExperimentTreatmentLocalization' appScreenshots: '#/components/schemas/AppScreenshot' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' 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 AppScreenshotSetAppScreenshotsLinkagesRequest: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appScreenshots id: type: string required: - id - type required: - data AppScreenshotSetCreateRequest: type: object title: AppScreenshotSetCreateRequest properties: data: type: object properties: type: type: string enum: - appScreenshotSets attributes: type: object properties: screenshotDisplayType: $ref: '#/components/schemas/ScreenshotDisplayType' required: - 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 required: - attributes - type required: - data AppStoreVersionExperimentTreatmentLocalization: type: object title: AppStoreVersionExperimentTreatmentLocalization properties: type: type: string enum: - appStoreVersionExperimentTreatmentLocalizations id: type: string attributes: type: object properties: locale: type: string relationships: type: object properties: appStoreVersionExperimentTreatment: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersionExperimentTreatments 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 links: $ref: '#/components/schemas/ResourceLinks' required: - id - type RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference AppStoreVersionLocalization: type: object title: AppStoreVersionLocalization properties: type: type: string enum: - appStoreVersionLocalizations id: type: string attributes: type: object properties: description: type: string locale: type: string keywords: type: string marketingUrl: type: string format: uri promotionalText: type: string supportUrl: type: string format: uri whatsNew: type: string relationships: type: object properties: appStoreVersion: type: object properties: data: type: object properties: type: type: string enum: - appStoreVersions 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 ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging 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 AppScreenshot: type: object title: AppScreenshot properties: type: type: string enum: - appScreenshots 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: appScreenshotSet: type: object properties: data: type: object properties: type: type: string enum: - appScreenshotSets id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppMediaStateError: type: object properties: code: type: string description: type: string AppScreenshotsResponse: type: object title: AppScreenshotsResponse properties: data: type: array items: $ref: '#/components/schemas/AppScreenshot' included: type: array items: $ref: '#/components/schemas/AppScreenshotSet' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links HttpHeader: type: object properties: name: type: string value: type: string securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT