iOS

iOS App Previews API

The App Previews API from iOS — 2 operation(s) for app previews.

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-app-previews-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-app-previews-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: App Store Connect 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.
servers:
- url: https://api.appstoreconnect.apple.com/
security:
- itc-bearer-token: []
tags:
- name: App Previews
paths:
  /v1/appPreviews:
    post:
      tags:
      - App Previews
      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:
      - App Previews
      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:
      - App Previews
      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:
      - App Previews
      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:
    PreviewFrameImage:
      type: object
      properties:
        image:
          $ref: '#/components/schemas/ImageAsset'
        state:
          $ref: '#/components/schemas/AppMediaPreviewFrameImageState'
    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
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    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
    PagingInformation:
      type: object
      properties:
        paging:
          type: object
          properties:
            total:
              type: integer
            limit:
              type: integer
            nextCursor:
              type: string
          required:
          - limit
      required:
      - paging
    ErrorSourcePointer:
      type: object
      title: JsonPointer
      properties:
        pointer:
          type: string
      required:
      - pointer
    HttpHeader:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    AppMediaStateError:
      type: object
      properties:
        code:
          type: string
        description:
          type: string
    UploadOperation:
      type: object
      properties:
        method:
          type: string
        url:
          type: string
        length:
          type: integer
        offset:
          type: integer
        requestHeaders:
          type: array
          items:
            $ref: '#/components/schemas/HttpHeader'
    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
    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
    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
    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
    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
    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
    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
    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
    RelationshipLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        related:
          type: string
          format: uri-reference
    ErrorSourceParameter:
      type: object
      title: Parameter
      properties:
        parameter:
          type: string
      required:
      - parameter
    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
    ResourceLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
  securitySchemes:
    itc-bearer-token:
      type: http
      scheme: bearer
      bearerFormat: JWT