openapi: 3.2.0 info: title: App Store Connect App Events 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 Events paths: /v1/appEvents: post: tags: - App Events operationId: appEvents_createInstance requestBody: description: AppEvent representation content: application/json: schema: $ref: '#/components/schemas/AppEventCreateRequest' 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 AppEvent content: application/json: schema: $ref: '#/components/schemas/AppEventResponse' '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 Events /v1/appEvents/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - App Events operationId: appEvents_getInstance parameters: - 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[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: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - localizations style: form explode: false required: false - name: limit[localizations] in: query description: maximum number of related localizations 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 AppEvent content: application/json: schema: $ref: '#/components/schemas/AppEventResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Events patch: tags: - App Events operationId: appEvents_updateInstance requestBody: description: AppEvent representation content: application/json: schema: $ref: '#/components/schemas/AppEventUpdateRequest' 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 AppEvent content: application/json: schema: $ref: '#/components/schemas/AppEventResponse' '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 Events delete: tags: - App Events operationId: appEvents_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 Events /v1/appEvents/{id}/relationships/localizations: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - App Events operationId: appEvents_localizations_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/AppEventLocalizationsLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Events / Localizations /v1/appEvents/{id}/localizations: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - App Events operationId: appEvents_localizations_getToManyRelated 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 - 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 - 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[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: 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: - appEvent - appEventScreenshots - appEventVideoClips style: form explode: false - name: limit[appEventScreenshots] in: query description: maximum number of related appEventScreenshots returned (when they are included) schema: type: integer maximum: 50 style: form - name: limit[appEventVideoClips] in: query description: maximum number of related appEventVideoClips 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 AppEventLocalizations content: application/json: schema: $ref: '#/components/schemas/AppEventLocalizationsResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Events / Localizations components: schemas: ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter 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 ResourceLinks: type: object properties: self: type: string format: uri-reference AppMediaStateError: type: object properties: code: type: string description: type: string 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 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 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 PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging 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 AppEventUpdateRequest: type: object title: AppEventUpdateRequest properties: data: type: object properties: type: type: string enum: - appEvents id: type: string attributes: type: object properties: referenceName: type: - string - 'null' badge: type: - string - 'null' enum: - LIVE_EVENT - PREMIERE - CHALLENGE - COMPETITION - NEW_SEASON - MAJOR_UPDATE - SPECIAL_EVENT deepLink: type: - string - 'null' format: uri purchaseRequirement: type: - string - 'null' primaryLocale: type: - string - 'null' priority: type: - string - 'null' enum: - HIGH - NORMAL purpose: type: - string - 'null' enum: - APPROPRIATE_FOR_ALL_USERS - ATTRACT_NEW_USERS - KEEP_ACTIVE_USERS_INFORMED - BRING_BACK_LAPSED_USERS territorySchedules: type: - array - 'null' 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 required: - id - type required: - data AppEventAssetType: type: string enum: - EVENT_CARD - EVENT_DETAILS_PAGE 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 AppEventResponse: type: object title: AppEventResponse properties: data: $ref: '#/components/schemas/AppEvent' included: type: array items: $ref: '#/components/schemas/AppEventLocalization' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links AppEventLocalizationsResponse: type: object title: AppEventLocalizationsResponse properties: data: type: array items: $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/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' 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 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 PagedDocumentLinks: type: object properties: self: type: string format: uri-reference first: type: string format: uri-reference next: type: string format: uri-reference required: - self 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 AppEventLocalizationsLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appEventLocalizations id: type: string required: - id - type 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' AppEventCreateRequest: type: object title: AppEventCreateRequest properties: data: type: object properties: type: type: string enum: - appEvents attributes: type: object properties: referenceName: type: string badge: type: - string - 'null' enum: - LIVE_EVENT - PREMIERE - CHALLENGE - COMPETITION - NEW_SEASON - MAJOR_UPDATE - SPECIAL_EVENT deepLink: type: - string - 'null' format: uri purchaseRequirement: type: - string - 'null' primaryLocale: type: - string - 'null' priority: type: - string - 'null' enum: - HIGH - NORMAL purpose: type: - string - 'null' enum: - APPROPRIATE_FOR_ALL_USERS - ATTRACT_NEW_USERS - KEEP_ACTIVE_USERS_INFORMED - BRING_BACK_LAPSED_USERS territorySchedules: type: - array - 'null' 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 required: - referenceName relationships: type: object properties: app: type: object properties: data: type: object properties: type: type: string enum: - apps id: type: string required: - id - type required: - data required: - app required: - relationships - attributes - type required: - data securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT