iOS

iOS AppScreenshots API

The AppScreenshots API from iOS — 2 operation(s) for appscreenshots.

OpenAPI Specification

ios-appscreenshots-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: App Store Connect AccessibilityDeclarations AppScreenshots 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: AppScreenshots
paths:
  /v1/appScreenshots:
    post:
      tags:
      - AppScreenshots
      operationId: appScreenshots_createInstance
      requestBody:
        description: AppScreenshot representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppScreenshotCreateRequest'
        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 AppScreenshot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppScreenshotResponse'
        '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 Screenshots
  /v1/appScreenshots/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - AppScreenshots
      operationId: appScreenshots_getInstance
      parameters:
      - name: fields[appScreenshots]
        in: query
        description: the fields to include for returned resources of type appScreenshots
        schema:
          type: array
          items:
            type: string
            enum:
            - fileSize
            - fileName
            - sourceFileChecksum
            - imageAsset
            - assetToken
            - assetType
            - uploadOperations
            - assetDeliveryState
            - appScreenshotSet
        style: form
        explode: false
        required: false
      - name: fields[appScreenshotSets]
        in: query
        description: the fields to include for returned resources of type appScreenshotSets
        schema:
          type: array
          items:
            type: string
            enum:
            - screenshotDisplayType
            - appStoreVersionLocalization
            - appCustomProductPageLocalization
            - appStoreVersionExperimentTreatmentLocalization
            - appScreenshots
        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:
            - appScreenshotSet
        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 AppScreenshot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppScreenshotResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get App Screenshots
    patch:
      tags:
      - AppScreenshots
      operationId: appScreenshots_updateInstance
      requestBody:
        description: AppScreenshot representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppScreenshotUpdateRequest'
        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 AppScreenshot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppScreenshotResponse'
        '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 Screenshots
    delete:
      tags:
      - AppScreenshots
      operationId: appScreenshots_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 Screenshots
components:
  schemas:
    ImageAsset:
      type: object
      properties:
        templateUrl:
          type: string
        width:
          type: integer
        height:
          type: integer
    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
    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
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    AppScreenshotSet:
      type: object
      title: AppScreenshotSet
      properties:
        type:
          type: string
          enum:
          - appScreenshotSets
        id:
          type: string
        attributes:
          type: object
          properties:
            screenshotDisplayType:
              $ref: '#/components/schemas/ScreenshotDisplayType'
        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
            appScreenshots:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appScreenshots
                      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'
    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
    AppScreenshotResponse:
      type: object
      title: AppScreenshotResponse
      properties:
        data:
          $ref: '#/components/schemas/AppScreenshot'
        included:
          type: array
          items:
            $ref: '#/components/schemas/AppScreenshotSet'
        links:
          $ref: '#/components/schemas/DocumentLinks'
      required:
      - data
      - links
    RelationshipLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        related:
          type: string
          format: uri-reference
    ErrorSourcePointer:
      type: object
      title: JsonPointer
      properties:
        pointer:
          type: string
      required:
      - pointer
    PagingInformation:
      type: object
      properties:
        paging:
          type: object
          properties:
            total:
              type: integer
            limit:
              type: integer
            nextCursor:
              type: string
          required:
          - limit
      required:
      - paging
    AppScreenshotCreateRequest:
      type: object
      title: AppScreenshotCreateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - appScreenshots
            attributes:
              type: object
              properties:
                fileSize:
                  type: integer
                fileName:
                  type: string
              required:
              - fileName
              - fileSize
            relationships:
              type: object
              properties:
                appScreenshotSet:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - appScreenshotSets
                        id:
                          type: string
                      required:
                      - id
                      - type
                  required:
                  - data
              required:
              - appScreenshotSet
          required:
          - relationships
          - attributes
          - type
      required:
      - data
    AppScreenshotUpdateRequest:
      type: object
      title: AppScreenshotUpdateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - appScreenshots
            id:
              type: string
            attributes:
              type: object
              properties:
                sourceFileChecksum:
                  type: string
                  nullable: true
                uploaded:
                  type: boolean
                  nullable: true
          required:
          - id
          - type
      required:
      - data
    ScreenshotDisplayType:
      type: string
      enum:
      - APP_IPHONE_67
      - APP_IPHONE_61
      - APP_IPHONE_65
      - APP_IPHONE_58
      - APP_IPHONE_55
      - APP_IPHONE_47
      - APP_IPHONE_40
      - APP_IPHONE_35
      - APP_IPAD_PRO_3GEN_129
      - APP_IPAD_PRO_3GEN_11
      - APP_IPAD_PRO_129
      - APP_IPAD_105
      - APP_IPAD_97
      - APP_DESKTOP
      - APP_WATCH_ULTRA
      - APP_WATCH_SERIES_10
      - APP_WATCH_SERIES_7
      - APP_WATCH_SERIES_4
      - APP_WATCH_SERIES_3
      - APP_APPLE_TV
      - APP_APPLE_VISION_PRO
      - IMESSAGE_APP_IPHONE_67
      - IMESSAGE_APP_IPHONE_61
      - IMESSAGE_APP_IPHONE_65
      - IMESSAGE_APP_IPHONE_58
      - IMESSAGE_APP_IPHONE_55
      - IMESSAGE_APP_IPHONE_47
      - IMESSAGE_APP_IPHONE_40
      - IMESSAGE_APP_IPAD_PRO_3GEN_129
      - IMESSAGE_APP_IPAD_PRO_3GEN_11
      - IMESSAGE_APP_IPAD_PRO_129
      - IMESSAGE_APP_IPAD_105
      - IMESSAGE_APP_IPAD_97
    AppScreenshot:
      type: object
      title: AppScreenshot
      properties:
        type:
          type: string
          enum:
          - appScreenshots
        id:
          type: string
        attributes:
          type: object
          properties:
            fileSize:
              type: integer
            fileName:
              type: string
            sourceFileChecksum:
              type: string
            imageAsset:
              $ref: '#/components/schemas/ImageAsset'
            assetToken:
              type: string
            assetType:
              type: string
            uploadOperations:
              type: array
              items:
                $ref: '#/components/schemas/UploadOperation'
            assetDeliveryState:
              $ref: '#/components/schemas/AppMediaAssetState'
        relationships:
          type: object
          properties:
            appScreenshotSet:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appScreenshotSets
                    id:
                      type: string
                  required:
                  - id
                  - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    AppMediaStateError:
      type: object
      properties:
        code:
          type: string
        description:
          type: string
    HttpHeader:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
  securitySchemes:
    itc-bearer-token:
      type: http
      scheme: bearer
      bearerFormat: JWT