openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppEventLocalizations 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: AppEventLocalizations paths: /v1/appEventLocalizations: post: tags: - AppEventLocalizations operationId: appEventLocalizations_createInstance requestBody: description: AppEventLocalization representation content: application/json: schema: $ref: '#/components/schemas/AppEventLocalizationCreateRequest' 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 AppEventLocalization content: application/json: schema: $ref: '#/components/schemas/AppEventLocalizationResponse' '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 Event Localizations /v1/appEventLocalizations/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppEventLocalizations operationId: appEventLocalizations_getInstance parameters: - name: fields[appEventLocalizations] in: query description: the fields to include for returned resources of type appEventLocalizations schema: type: array items: type: string enum: - locale - name - shortDescription - longDescription - appEvent - appEventScreenshots - appEventVideoClips style: form explode: false required: false - name: fields[appEvents] in: query description: the fields to include for returned resources of type appEvents schema: type: array items: type: string enum: - referenceName - badge - eventState - deepLink - purchaseRequirement - primaryLocale - priority - purpose - territorySchedules - archivedTerritorySchedules - localizations style: form explode: false required: false - name: fields[appEventScreenshots] in: query description: the fields to include for returned resources of type appEventScreenshots schema: type: array items: type: string enum: - fileSize - fileName - imageAsset - assetToken - uploadOperations - assetDeliveryState - appEventAssetType - appEventLocalization style: form explode: false required: false - name: fields[appEventVideoClips] in: query description: the fields to include for returned resources of type appEventVideoClips schema: type: array items: type: string enum: - fileSize - fileName - previewFrameTimeCode - videoUrl - previewFrameImage - previewImage - uploadOperations - assetDeliveryState - videoDeliveryState - appEventAssetType - appEventLocalization 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: - appEvent - appEventScreenshots - appEventVideoClips style: form explode: false required: false - name: limit[appEventScreenshots] in: query description: maximum number of related appEventScreenshots returned (when they are included) schema: type: integer maximum: 50 style: form required: false - name: limit[appEventVideoClips] in: query description: maximum number of related appEventVideoClips 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 AppEventLocalization content: application/json: schema: $ref: '#/components/schemas/AppEventLocalizationResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Event Localizations patch: tags: - AppEventLocalizations operationId: appEventLocalizations_updateInstance requestBody: description: AppEventLocalization representation content: application/json: schema: $ref: '#/components/schemas/AppEventLocalizationUpdateRequest' 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 AppEventLocalization content: application/json: schema: $ref: '#/components/schemas/AppEventLocalizationResponse' '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 Event Localizations delete: tags: - AppEventLocalizations operationId: appEventLocalizations_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 Event Localizations /v1/appEventLocalizations/{id}/relationships/appEventScreenshots: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppEventLocalizations operationId: appEventLocalizations_appEventScreenshots_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/AppEventLocalizationAppEventScreenshotsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Event Localizations / App Event Screenshots /v1/appEventLocalizations/{id}/appEventScreenshots: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppEventLocalizations operationId: appEventLocalizations_appEventScreenshots_getToManyRelated parameters: - name: fields[appEventScreenshots] in: query description: the fields to include for returned resources of type appEventScreenshots schema: type: array items: type: string enum: - fileSize - fileName - imageAsset - assetToken - uploadOperations - assetDeliveryState - appEventAssetType - appEventLocalization style: form explode: false - name: fields[appEventLocalizations] in: query description: the fields to include for returned resources of type appEventLocalizations schema: type: array items: type: string enum: - locale - name - shortDescription - longDescription - appEvent - appEventScreenshots - appEventVideoClips 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: - appEventLocalization 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 AppEventScreenshots content: application/json: schema: $ref: '#/components/schemas/AppEventScreenshotsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Event Localizations / App Event Screenshots /v1/appEventLocalizations/{id}/relationships/appEventVideoClips: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppEventLocalizations operationId: appEventLocalizations_appEventVideoClips_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/AppEventLocalizationAppEventVideoClipsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Event Localizations / App Event Video Clips /v1/appEventLocalizations/{id}/appEventVideoClips: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppEventLocalizations operationId: appEventLocalizations_appEventVideoClips_getToManyRelated parameters: - name: fields[appEventVideoClips] in: query description: the fields to include for returned resources of type appEventVideoClips schema: type: array items: type: string enum: - fileSize - fileName - previewFrameTimeCode - videoUrl - previewFrameImage - previewImage - uploadOperations - assetDeliveryState - videoDeliveryState - appEventAssetType - appEventLocalization style: form explode: false - name: fields[appEventLocalizations] in: query description: the fields to include for returned resources of type appEventLocalizations schema: type: array items: type: string enum: - locale - name - shortDescription - longDescription - appEvent - appEventScreenshots - appEventVideoClips 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: - appEventLocalization 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 AppEventVideoClips content: application/json: schema: $ref: '#/components/schemas/AppEventVideoClipsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Event Localizations / App Event Video Clips 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 AppEventLocalizationCreateRequest: type: object title: AppEventLocalizationCreateRequest properties: data: type: object properties: type: type: string enum: - appEventLocalizations attributes: type: object properties: locale: type: string name: type: string nullable: true shortDescription: type: string nullable: true longDescription: type: string nullable: true required: - locale relationships: type: object properties: appEvent: type: object properties: data: type: object properties: type: type: string enum: - appEvents id: type: string required: - id - type required: - data required: - appEvent required: - relationships - attributes - type required: - data 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 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 AppEvent: type: object title: AppEvent properties: type: type: string enum: - appEvents id: type: string attributes: type: object properties: referenceName: type: string badge: type: string enum: - LIVE_EVENT - PREMIERE - CHALLENGE - COMPETITION - NEW_SEASON - MAJOR_UPDATE - SPECIAL_EVENT eventState: type: string enum: - DRAFT - READY_FOR_REVIEW - WAITING_FOR_REVIEW - IN_REVIEW - REJECTED - ACCEPTED - APPROVED - PUBLISHED - PAST - ARCHIVED deepLink: type: string format: uri purchaseRequirement: type: string primaryLocale: type: string priority: type: string enum: - HIGH - NORMAL purpose: type: string enum: - APPROPRIATE_FOR_ALL_USERS - ATTRACT_NEW_USERS - KEEP_ACTIVE_USERS_INFORMED - BRING_BACK_LAPSED_USERS territorySchedules: type: array items: type: object properties: territories: type: array items: type: string publishStart: type: string format: date-time eventStart: type: string format: date-time eventEnd: type: string format: date-time archivedTerritorySchedules: type: array items: type: object properties: territories: type: array items: type: string publishStart: type: string format: date-time eventStart: type: string format: date-time eventEnd: type: string format: date-time relationships: type: object properties: localizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appEventLocalizations id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppEventLocalizationAppEventScreenshotsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appEventScreenshots id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self AppEventVideoClipsResponse: type: object title: AppEventVideoClipsResponse properties: data: type: array items: $ref: '#/components/schemas/AppEventVideoClip' included: type: array items: $ref: '#/components/schemas/AppEventLocalization' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links PreviewFrameImage: type: object properties: image: $ref: '#/components/schemas/ImageAsset' state: $ref: '#/components/schemas/AppMediaPreviewFrameImageState' AppEventScreenshot: type: object title: AppEventScreenshot properties: type: type: string enum: - appEventScreenshots id: type: string attributes: type: object properties: fileSize: type: integer fileName: type: string imageAsset: $ref: '#/components/schemas/ImageAsset' assetToken: type: string uploadOperations: type: array items: $ref: '#/components/schemas/UploadOperation' assetDeliveryState: $ref: '#/components/schemas/AppMediaAssetState' appEventAssetType: $ref: '#/components/schemas/AppEventAssetType' relationships: type: object properties: appEventLocalization: type: object properties: data: type: object properties: type: type: string enum: - appEventLocalizations id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type UploadOperation: type: object properties: method: type: string url: type: string length: type: integer offset: type: integer requestHeaders: type: array items: $ref: '#/components/schemas/HttpHeader' AppEventLocalizationAppEventVideoClipsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appEventVideoClips id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links 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 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 AppEventLocalizationUpdateRequest: type: object title: AppEventLocalizationUpdateRequest properties: data: type: object properties: type: type: string enum: - appEventLocalizations id: type: string attributes: type: object properties: name: type: string nullable: true shortDescription: type: string nullable: true longDescription: type: string nullable: true required: - id - type required: - data AppEventScreenshotsResponse: type: object title: AppEventScreenshotsResponse properties: data: type: array items: $ref: '#/components/schemas/AppEventScreenshot' included: type: array items: $ref: '#/components/schemas/AppEventLocalization' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer AppEventVideoClip: type: object title: AppEventVideoClip properties: type: type: string enum: - appEventVideoClips id: type: string attributes: type: object properties: fileSize: type: integer fileName: type: string previewFrameTimeCode: 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' appEventAssetType: $ref: '#/components/schemas/AppEventAssetType' relationships: type: object properties: appEventLocalization: type: object properties: data: type: object properties: type: type: string enum: - appEventLocalizations 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 AppEventLocalizationResponse: type: object title: AppEventLocalizationResponse properties: data: $ref: '#/components/schemas/AppEventLocalization' included: type: array items: oneOf: - $ref: '#/components/schemas/AppEventScreenshot' - $ref: '#/components/schemas/AppEventVideoClip' - $ref: '#/components/schemas/AppEvent' discriminator: propertyName: type mapping: appEvents: '#/components/schemas/AppEvent' appEventVideoClips: '#/components/schemas/AppEventVideoClip' appEventScreenshots: '#/components/schemas/AppEventScreenshot' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links AppEventLocalization: type: object title: AppEventLocalization properties: type: type: string enum: - appEventLocalizations id: type: string attributes: type: object properties: locale: type: string name: type: string shortDescription: type: string longDescription: type: string relationships: type: object properties: appEvent: type: object properties: data: type: object properties: type: type: string enum: - appEvents id: type: string required: - id - type appEventScreenshots: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appEventScreenshots id: type: string required: - id - type appEventVideoClips: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appEventVideoClips id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppMediaStateError: type: object properties: code: type: string description: type: string AppEventAssetType: type: string enum: - EVENT_CARD - EVENT_DETAILS_PAGE HttpHeader: type: object properties: name: type: string value: type: string securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT