iOS

iOS AppEvents API

The AppEvents API from iOS — 4 operation(s) for appevents.

OpenAPI Specification

ios-appevents-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: App Store Connect AccessibilityDeclarations AppEvents 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: AppEvents
paths:
  /v1/appEvents:
    post:
      tags:
      - AppEvents
      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:
      - AppEvents
      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:
      - AppEvents
      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:
      - AppEvents
      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:
      - AppEvents
      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:
      - AppEvents
      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:
    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
    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
    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
    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
    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
    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
    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
    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
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    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'
    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
    RelationshipLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        related:
          type: string
          format: uri-reference
    HttpHeader:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    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
    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
    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
                  nullable: true
                badge:
                  type: string
                  nullable: true
                  enum:
                  - LIVE_EVENT
                  - PREMIERE
                  - CHALLENGE
                  - COMPETITION
                  - NEW_SEASON
                  - MAJOR_UPDATE
                  - SPECIAL_EVENT
                deepLink:
                  type: string
                  format: uri
                  nullable: true
                purchaseRequirement:
                  type: string
                  nullable: true
                primaryLocale:
                  type: string
                  nullable: true
                priority:
                  type: string
                  nullable: true
                  enum:
                  - HIGH
                  - NORMAL
                purpose:
                  type: string
                  nullable: true
                  enum:
                  - APPROPRIATE_FOR_ALL_USERS
                  - ATTRACT_NEW_USERS
                  - KEEP_ACTIVE_USERS_INFORMED
   

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ios/refs/heads/main/openapi/ios-appevents-api-openapi.yml