iOS

iOS AppCustomProductPageVersions API

The AppCustomProductPageVersions API from iOS — 4 operation(s) for appcustomproductpageversions.

Operations 5

POST /v1/appCustomProductPageVersions Create App Custom Product Page Versions #
GET /v1/appCustomProductPageVersions/{id} Get App Custom Product Page Versions #
PATCH /v1/appCustomProductPageVersions/{id} Update App Custom Product Page Versions #
GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations List Related App Custom Product Page Versions / App Custom Product Page Localizations #
GET /v1/appCustomProductPageVersions/{id}/appCustomProductPageLocalizations List Related App Custom Product Page Versions / App Custom Product Page Localizations #

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-appcustomproductpageversions-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-appcustomproductpageversions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: App Store Connect AccessibilityDeclarations App Custom Product Page Versions 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: AppCustomProductPageVersions
paths:
  /v1/appCustomProductPageVersions:
    post:
      tags:
      - AppCustomProductPageVersions
      operationId: appCustomProductPageVersions_createInstance
      requestBody:
        description: AppCustomProductPageVersion representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCustomProductPageVersionCreateRequest'
        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 AppCustomProductPageVersion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCustomProductPageVersionResponse'
        '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 Custom Product Page Versions
  /v1/appCustomProductPageVersions/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - AppCustomProductPageVersions
      operationId: appCustomProductPageVersions_getInstance
      parameters:
      - name: fields[appCustomProductPageVersions]
        in: query
        description: the fields to include for returned resources of type appCustomProductPageVersions
        schema:
          type: array
          items:
            type: string
            enum:
            - version
            - state
            - deepLink
            - appCustomProductPage
            - appCustomProductPageLocalizations
        style: form
        explode: false
        required: false
      - name: fields[appCustomProductPages]
        in: query
        description: the fields to include for returned resources of type appCustomProductPages
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - url
            - visible
            - app
            - appCustomProductPageVersions
        style: form
        explode: false
        required: false
      - name: fields[appCustomProductPageLocalizations]
        in: query
        description: the fields to include for returned resources of type appCustomProductPageLocalizations
        schema:
          type: array
          items:
            type: string
            enum:
            - locale
            - promotionalText
            - appCustomProductPageVersion
            - appScreenshotSets
            - appPreviewSets
            - searchKeywords
        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:
            - appCustomProductPage
            - appCustomProductPageLocalizations
        style: form
        explode: false
        required: false
      - name: limit[appCustomProductPageLocalizations]
        in: query
        description: maximum number of related appCustomProductPageLocalizations 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 AppCustomProductPageVersion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCustomProductPageVersionResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get App Custom Product Page Versions
    patch:
      tags:
      - AppCustomProductPageVersions
      operationId: appCustomProductPageVersions_updateInstance
      requestBody:
        description: AppCustomProductPageVersion representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppCustomProductPageVersionUpdateRequest'
        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 AppCustomProductPageVersion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCustomProductPageVersionResponse'
        '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 Custom Product Page Versions
  /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - AppCustomProductPageVersions
      operationId: appCustomProductPageVersions_appCustomProductPageLocalizations_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/AppCustomProductPageVersionAppCustomProductPageLocalizationsLinkagesResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Related App Custom Product Page Versions / App Custom Product Page Localizations
  /v1/appCustomProductPageVersions/{id}/appCustomProductPageLocalizations:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - AppCustomProductPageVersions
      operationId: appCustomProductPageVersions_appCustomProductPageLocalizations_getToManyRelated
      parameters:
      - name: filter[locale]
        in: query
        description: filter by attribute 'locale'
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: fields[appCustomProductPageLocalizations]
        in: query
        description: the fields to include for returned resources of type appCustomProductPageLocalizations
        schema:
          type: array
          items:
            type: string
            enum:
            - locale
            - promotionalText
            - appCustomProductPageVersion
            - appScreenshotSets
            - appPreviewSets
            - searchKeywords
        style: form
        explode: false
      - name: fields[appCustomProductPageVersions]
        in: query
        description: the fields to include for returned resources of type appCustomProductPageVersions
        schema:
          type: array
          items:
            type: string
            enum:
            - version
            - state
            - deepLink
            - appCustomProductPage
            - appCustomProductPageLocalizations
        style: form
        explode: 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
      - 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
      - name: fields[appKeywords]
        in: query
        description: the fields to include for returned resources of type appKeywords
        schema:
          type: array
          items:
            type: string
            enum: []
        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:
            - appCustomProductPageVersion
            - appScreenshotSets
            - appPreviewSets
            - searchKeywords
        style: form
        explode: false
      - name: limit[appScreenshotSets]
        in: query
        description: maximum number of related appScreenshotSets returned (when they are included)
        schema:
          type: integer
          maximum: 50
        style: form
      - name: limit[appPreviewSets]
        in: query
        description: maximum number of related appPreviewSets returned (when they are included)
        schema:
          type: integer
          maximum: 50
        style: form
      - name: limit[searchKeywords]
        in: query
        description: maximum number of related searchKeywords 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 AppCustomProductPageLocalizations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppCustomProductPageLocalizationsResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Related App Custom Product Page Versions / App Custom Product Page Localizations
components:
  schemas:
    AppCustomProductPageVersionResponse:
      type: object
      title: AppCustomProductPageVersionResponse
      properties:
        data:
          $ref: '#/components/schemas/AppCustomProductPageVersion'
        included:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/AppCustomProductPageLocalization'
            - $ref: '#/components/schemas/AppCustomProductPage'
            discriminator:
              propertyName: type
              mapping:
                appCustomProductPageLocalizations: '#/components/schemas/AppCustomProductPageLocalization'
                appCustomProductPages: '#/components/schemas/AppCustomProductPage'
        links:
          $ref: '#/components/schemas/DocumentLinks'
      required:
      - data
      - links
    AppCustomProductPage:
      type: object
      title: AppCustomProductPage
      properties:
        type:
          type: string
          enum:
          - appCustomProductPages
        id:
          type: string
        attributes:
          type: object
          properties:
            name:
              type: string
            url:
              type: string
              format: uri
            visible:
              type: boolean
        relationships:
          type: object
          properties:
            app:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - apps
                    id:
                      type: string
                  required:
                  - id
                  - type
            appCustomProductPageVersions:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appCustomProductPageVersions
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    ErrorSourcePointer:
      type: object
      title: JsonPointer
      properties:
        pointer:
          type: string
      required:
      - pointer
    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
    AppCustomProductPageLocalizationsResponse:
      type: object
      title: AppCustomProductPageLocalizationsResponse
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AppCustomProductPageLocalization'
        included:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/AppCustomProductPageVersion'
            - $ref: '#/components/schemas/AppKeyword'
            - $ref: '#/components/schemas/AppPreviewSet'
            - $ref: '#/components/schemas/AppScreenshotSet'
            discriminator:
              propertyName: type
              mapping:
                appScreenshotSets: '#/components/schemas/AppScreenshotSet'
                appKeywords: '#/components/schemas/AppKeyword'
                appCustomProductPageVersions: '#/components/schemas/AppCustomProductPageVersion'
                appPreviewSets: '#/components/schemas/AppPreviewSet'
        links:
          $ref: '#/components/schemas/PagedDocumentLinks'
        meta:
          $ref: '#/components/schemas/PagingInformation'
      required:
      - data
      - links
    RelationshipLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        related:
          type: string
          format: uri-reference
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    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
    ResourceLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
    AppCustomProductPageVersion:
      type: object
      title: AppCustomProductPageVersion
      properties:
        type:
          type: string
          enum:
          - appCustomProductPageVersions
        id:
          type: string
        attributes:
          type: object
          properties:
            version:
              type: string
            state:
              type: string
              enum:
              - PREPARE_FOR_SUBMISSION
              - READY_FOR_REVIEW
              - WAITING_FOR_REVIEW
              - IN_REVIEW
              - ACCEPTED
              - APPROVED
              - REPLACED_WITH_NEW_VERSION
              - REJECTED
            deepLink:
              type: string
              format: uri
        relationships:
          type: object
          properties:
            appCustomProductPage:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appCustomProductPages
                    id:
                      type: string
                  required:
                  - id
                  - type
            appCustomProductPageLocalizations:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appCustomProductPageLocalizations
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    AppCustomProductPageVersionCreateRequest:
      type: object
      title: AppCustomProductPageVersionCreateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - appCustomProductPageVersions
            attributes:
              type: object
              properties:
                deepLink:
                  type:
                  - string
                  - 'null'
                  format: uri
            relationships:
              type: object
              properties:
                appCustomProductPage:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - appCustomProductPages
                        id:
                          type: string
                      required:
                      - id
                      - type
                  required:
                  - data
                appCustomProductPageLocalizations:
                  type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                            - appCustomProductPageLocalizations
                          id:
                            type: string
                        required:
                        - id
                        - type
              required:
              - appCustomProductPage
          required:
          - relationships
          - type
      required:
      - data
    AppCustomProductPageVersionUpdateRequest:
      type: object
      title: AppCustomProductPageVersionUpdateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - appCustomProductPageVersions
            id:
              type: string
            attributes:
              type: object
              properties:
                deepLink:
                  type:
                  - string
                  - 'null'
                  format: uri
          required:
          - id
          - type
      required:
      - data
    PagedDocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        first:
          type: string
          format: uri-reference
        next:
          type: string
          format: uri-reference
      required:
      - self
    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
    AppCustomProductPageLocalization:
      type: object
      title: AppCustomProductPageLocalization
      properties:
        type:
          type: string
          enum:
          - appCustomProductPageLocalizations
        id:
          type: string
        attributes:
          type: object
          properties:
            locale:
              type: string
            promotionalText:
              type: string
        relationships:
          type: object
          properties:
            appCustomProductPageVersion:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - appCustomProductPageVersions
                    id:
                      type: string
                  required:
                  - id
                  - type
            appScreenshotSets:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appScreenshotSets
                      id:
                        type: string
                    required:
                    - id
                    - type
            appPreviewSets:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appPreviewSets
                      id:
                        type: string
                    required:
                    - id
                    - type
            searchKeywords:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - appKeywords
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    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
                  

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