iOS

iOS AppPreviews API

The AppPreviews API from iOS — 2 operation(s) for apppreviews.

Operations 4

POST /v1/appPreviews Create App Previews #
GET /v1/appPreviews/{id} Get App Previews #
PATCH /v1/appPreviews/{id} Update App Previews #
DELETE /v1/appPreviews/{id} Delete App Previews #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ios-apppreviews-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ios-apppreviews-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: App Store Connect AccessibilityDeclarations App Previews API
  version: 4.3.1
  x-platforms:
    app_store_connect_api: App Store Connect API
  description: The App Store Connect API is the standards-based REST API Apple provides to automate tasks across App Store Connect, Xcode, and Certificates, Identifiers & Profiles. 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: AppPreviews
paths:
  /v1/appPreviews:
    post:
      tags:
      - AppPreviews
      operationId: appPreviews_createInstance
      requestBody:
        description: AppPreview representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppPreviewCreateRequest'
        required: true
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '201':
          description: Single AppPreview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppPreviewResponse'
        '409':
          description: Request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Create App Previews
  /v1/appPreviews/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - AppPreviews
      operationId: appPreviews_getInstance
      parameters:
      - name: fields[appPreviews]
        in: query
        description: the fields to include for returned resources of type appPreviews
        schema:
          type: array
          items:
            type: string
            enum:
            - fileSize
            - fileName
            - sourceFileChecksum
            - previewFrameTimeCode
            - mimeType
            - videoUrl
            - previewFrameImage
            - previewImage
            - uploadOperations
            - assetDeliveryState
            - videoDeliveryState
            - appPreviewSet
        style: form
        explode: false
        required: false
      - name: fields[appPreviewSets]
        in: query
        description: the fields to include for returned resources of type appPreviewSets
        schema:
          type: array
          items:
            type: string
            enum:
            - previewType
            - appStoreVersionLocalization
            - appCustomProductPageLocalization
            - appStoreVersionExperimentTreatmentLocalization
            - appPreviews
        style: form
        explode: false
        required: false
      - name: include
        in: query
        description: comma-separated list of relationships to include
        schema:
          type: array
          items:
            type: string
            enum:
            - appPreviewSet
        style: form
        explode: false
        required: false
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '200':
          description: Single AppPreview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppPreviewResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get App Previews
    patch:
      tags:
      - AppPreviews
      operationId: appPreviews_updateInstance
      requestBody:
        description: AppPreview representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppPreviewUpdateRequest'
        required: true
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '200':
          description: Single AppPreview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppPreviewResponse'
        '409':
          description: Request entity error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Update App Previews
    delete:
      tags:
      - AppPreviews
      operationId: appPreviews_deleteInstance
      responses:
        '400':
          description: Parameter error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized error(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '204':
          description: Success (no content)
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Delete App Previews
components:
  schemas:
    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
    ErrorSourcePointer:
      type: object
      title: JsonPointer
      properties:
        pointer:
          type: string
      required:
      - pointer
    UploadOperation:
      type: object
      properties:
        method:
          type: string
        url:
          type: string
        length:
          type: integer
        offset:
          type: integer
        requestHeaders:
          type: array
          items:
            $ref: '#/components/schemas/HttpHeader'
    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
    AppPreviewCreateRequest:
      type: object
      title: AppPreviewCreateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - appPreviews
            attributes:
              type: object
              properties:
                fileSize:
                  type: integer
                fileName:
                  type: string
                previewFrameTimeCode:
                  type:
                  - string
                  - 'null'
                mimeType:
                  type:
                  - string
                  - 'null'
              required:
              - fileName
              - fileSize
            relationships:
              type: object
              properties:
                appPreviewSet:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - appPreviewSets
                        id:
                          type: string
                      required:
                      - id
                      - type
                  required:
                  - data
              required:
              - appPreviewSet
          required:
          - relationships
          - attributes
          - type
      required:
      - data
    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
    AppPreviewUpdateRequest:
      type: object
      title: AppPreviewUpdateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - appPreviews
            id:
              type: string
            attributes:
              type: object
              properties:
                sourceFileChecksum:
                  type:
                  - string
                  - 'null'
                previewFrameTimeCode:
                  type:
                  - string
                  - 'null'
                uploaded:
                  type:
                  - boolean
                  - 'null'
          required:
          - id
          - type
      required:
      - data
    PreviewFrameImage:
      type: object
      properties:
        image:
          $ref: '#/components/schemas/ImageAsset'
        state:
          $ref: '#/components/schemas/AppMediaPreviewFrameImageState'
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    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
    PreviewType:
      type: string
      enum:
      - IPHONE_67
      - IPHONE_61
      - IPHONE_65
      - IPHONE_58
      - IPHONE_55
      - IPHONE_47
      - IPHONE_40
      - IPHONE_35
      - IPAD_PRO_3GEN_129
      - IPAD_PRO_3GEN_11
      - IPAD_PRO_129
      - IPAD_105
      - IPAD_97
      - DESKTOP
      - APPLE_TV
      - APPLE_VISION_PRO
    ImageAsset:
      type: object
      properties:
        templateUrl:
          type: string
        width:
          type: integer
        height:
          type: integer
    ResourceLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
    AppPreviewResponse:
      type: object
      title: AppPreviewResponse
      properties:
        data:
          $ref: '#/components/schemas/AppPreview'
        included:
          type: array
          items:
            $ref: '#/components/schemas/AppPreviewSet'
        links:
          $ref: '#/components/schemas/DocumentLinks'
      required:
      - data
      - links
    AppPreview:
      type: object
      title: AppPreview
      properties:
        type:
          type: string
          enum:
          - appPreviews
        id:
          type: string
        attributes:
          type: object
          properties:
            fileSize:
              type: integer
            fileName:
              type: string
            sourceFileChecksum:
              type: string
            previewFrameTimeCode:
              type: string
            mimeType:
              type: string
            videoUrl:
              type: string
            previewFrameImage:
              $ref: '#/components/schemas/PreviewFrameImage'
            previewImage:
              deprecated: true
              $ref: '#/components/schemas/ImageAsset'
            uploadOperations:
              type: array
              items:
                $ref: '#/components/schemas/UploadOperation'
            assetDeliveryState:
              deprecated: true
              $ref: '#/components/schemas/AppMediaAssetState'
            videoDeliveryState:
              $ref: '#/components/schemas/AppMediaVideoState'
        relationships:
          type: object
          properties:
            appPreviewSet:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appPreviewSets
                    id:
                      type: string
                  required:
                  - id
                  - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    HttpHeader:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    AppPreviewSet:
      type: object
      title: AppPreviewSet
      properties:
        type:
          type: string
          enum:
          - appPreviewSets
        id:
          type: string
        attributes:
          type: object
          properties:
            previewType:
              $ref: '#/components/schemas/PreviewType'
        relationships:
          type: object
          properties:
            appStoreVersionLocalization:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appStoreVersionLocalizations
                    id:
                      type: string
                  required:
                  - id
                  - type
            appCustomProductPageLocalization:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appCustomProductPageLocalizations
                    id:
                      type: string
                  required:
                  - id
                  - type
            appStoreVersionExperimentTreatmentLocalization:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appStoreVersionExperimentTreatmentLocalizations
                    id:
                      type: string
                  required:
                  - id
                  - type
            appPreviews:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appPreviews
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    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
    PagingInformation:
      type: object
      properties:
        paging:
          type: object
          properties:
            total:
              type: integer
            limit:
              type: integer
            nextCursor:
              type: string
          required:
          - limit
      required:
      - paging
    AppMediaStateError:
      type: object
      properties:
        code:
          type: string
        description:
          type: string
  securitySchemes:
    itc-bearer-token:
      type: http
      scheme: bearer
      bearerFormat: JWT