iOS

iOS PromotedPurchases API

The PromotedPurchases API from iOS — 2 operation(s) for promotedpurchases.

OpenAPI Specification

ios-promotedpurchases-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: App Store Connect AccessibilityDeclarations PromotedPurchases 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: PromotedPurchases
paths:
  /v1/promotedPurchases:
    post:
      tags:
      - PromotedPurchases
      operationId: promotedPurchases_createInstance
      requestBody:
        description: PromotedPurchase representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromotedPurchaseCreateRequest'
        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 PromotedPurchase
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromotedPurchaseResponse'
        '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 Promoted Purchases
  /v1/promotedPurchases/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - PromotedPurchases
      operationId: promotedPurchases_getInstance
      parameters:
      - name: fields[promotedPurchases]
        in: query
        description: the fields to include for returned resources of type promotedPurchases
        schema:
          type: array
          items:
            type: string
            enum:
            - visibleForAllUsers
            - enabled
            - state
            - inAppPurchaseV2
            - subscription
        style: form
        explode: false
        required: false
      - name: fields[inAppPurchases]
        in: query
        description: the fields to include for returned resources of type inAppPurchases
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - productId
            - inAppPurchaseType
            - state
            - reviewNote
            - familySharable
            - contentHosting
            - inAppPurchaseLocalizations
            - pricePoints
            - content
            - appStoreReviewScreenshot
            - promotedPurchase
            - iapPriceSchedule
            - inAppPurchaseAvailability
            - images
            - offerCodes
        style: form
        explode: false
        required: false
      - name: fields[subscriptions]
        in: query
        description: the fields to include for returned resources of type subscriptions
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - productId
            - familySharable
            - state
            - subscriptionPeriod
            - reviewNote
            - groupLevel
            - subscriptionLocalizations
            - appStoreReviewScreenshot
            - group
            - introductoryOffers
            - promotionalOffers
            - offerCodes
            - prices
            - pricePoints
            - promotedPurchase
            - subscriptionAvailability
            - winBackOffers
            - images
        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:
            - inAppPurchaseV2
            - subscription
        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 PromotedPurchase
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromotedPurchaseResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get Promoted Purchases
    patch:
      tags:
      - PromotedPurchases
      operationId: promotedPurchases_updateInstance
      requestBody:
        description: PromotedPurchase representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PromotedPurchaseUpdateRequest'
        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 PromotedPurchase
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromotedPurchaseResponse'
        '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 Promoted Purchases
    delete:
      tags:
      - PromotedPurchases
      operationId: promotedPurchases_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 Promoted Purchases
components:
  schemas:
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    PromotedPurchaseUpdateRequest:
      type: object
      title: PromotedPurchaseUpdateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - promotedPurchases
            id:
              type: string
            attributes:
              type: object
              properties:
                visibleForAllUsers:
                  type: boolean
                  nullable: true
                enabled:
                  type: boolean
                  nullable: true
          required:
          - id
          - type
      required:
      - data
    RelationshipLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        related:
          type: string
          format: uri-reference
    PromotedPurchaseCreateRequest:
      type: object
      title: PromotedPurchaseCreateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - promotedPurchases
            attributes:
              type: object
              properties:
                visibleForAllUsers:
                  type: boolean
                enabled:
                  type: boolean
                  nullable: true
              required:
              - visibleForAllUsers
            relationships:
              type: object
              properties:
                app:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - apps
                        id:
                          type: string
                      required:
                      - id
                      - type
                  required:
                  - data
                inAppPurchaseV2:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - inAppPurchases
                        id:
                          type: string
                      required:
                      - id
                      - type
                subscription:
                  type: object
                  properties:
                    data:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                          - subscriptions
                        id:
                          type: string
                      required:
                      - id
                      - type
              required:
              - app
          required:
          - relationships
          - attributes
          - type
      required:
      - data
    PromotedPurchaseResponse:
      type: object
      title: PromotedPurchaseResponse
      properties:
        data:
          $ref: '#/components/schemas/PromotedPurchase'
        included:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/InAppPurchaseV2'
            - $ref: '#/components/schemas/Subscription'
            discriminator:
              propertyName: type
              mapping:
                subscriptions: '#/components/schemas/Subscription'
                inAppPurchases: '#/components/schemas/InAppPurchaseV2'
        links:
          $ref: '#/components/schemas/DocumentLinks'
      required:
      - data
      - links
    ResourceLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
    PromotedPurchase:
      type: object
      title: PromotedPurchase
      properties:
        type:
          type: string
          enum:
          - promotedPurchases
        id:
          type: string
        attributes:
          type: object
          properties:
            visibleForAllUsers:
              type: boolean
            enabled:
              type: boolean
            state:
              type: string
              enum:
              - APPROVED
              - IN_REVIEW
              - PREPARE_FOR_SUBMISSION
              - REJECTED
        relationships:
          type: object
          properties:
            inAppPurchaseV2:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - inAppPurchases
                    id:
                      type: string
                  required:
                  - id
                  - type
            subscription:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - subscriptions
                    id:
                      type: string
                  required:
                  - id
                  - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    InAppPurchaseV2:
      type: object
      title: InAppPurchaseV2
      properties:
        type:
          type: string
          enum:
          - inAppPurchases
        id:
          type: string
        attributes:
          type: object
          properties:
            name:
              type: string
            productId:
              type: string
            inAppPurchaseType:
              $ref: '#/components/schemas/InAppPurchaseType'
            state:
              $ref: '#/components/schemas/InAppPurchaseState'
            reviewNote:
              type: string
            familySharable:
              type: boolean
            contentHosting:
              type: boolean
        relationships:
          type: object
          properties:
            inAppPurchaseLocalizations:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - inAppPurchaseLocalizations
                      id:
                        type: string
                    required:
                    - id
                    - type
            pricePoints:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - inAppPurchasePricePoints
                      id:
                        type: string
                    required:
                    - id
                    - type
            content:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - inAppPurchaseContents
                    id:
                      type: string
                  required:
                  - id
                  - type
            appStoreReviewScreenshot:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - inAppPurchaseAppStoreReviewScreenshots
                    id:
                      type: string
                  required:
                  - id
                  - type
            promotedPurchase:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - promotedPurchases
                    id:
                      type: string
                  required:
                  - id
                  - type
            iapPriceSchedule:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - inAppPurchasePriceSchedules
                    id:
                      type: string
                  required:
                  - id
                  - type
            inAppPurchaseAvailability:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - inAppPurchaseAvailabilities
                    id:
                      type: string
                  required:
                  - id
                  - type
            images:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - inAppPurchaseImages
                      id:
                        type: string
                    required:
                    - id
                    - type
            offerCodes:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - inAppPurchaseOfferCodes
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    Subscription:
      type: object
      title: Subscription
      properties:
        type:
          type: string
          enum:
          - subscriptions
        id:
          type: string
        attributes:
          type: object
          properties:
            name:
              type: string
            productId:
              type: string
            familySharable:
              type: boolean
            state:
              type: string
              enum:
              - MISSING_METADATA
              - READY_TO_SUBMIT
              - WAITING_FOR_REVIEW
              - IN_REVIEW
              - DEVELOPER_ACTION_NEEDED
              - PENDING_BINARY_APPROVAL
              - APPROVED
              - DEVELOPER_REMOVED_FROM_SALE
              - REMOVED_FROM_SALE
              - REJECTED
            subscriptionPeriod:
              type: string
              enum:
              - ONE_WEEK
              - ONE_MONTH
              - TWO_MONTHS
              - THREE_MONTHS
              - SIX_MONTHS
              - ONE_YEAR
            reviewNote:
              type: string
            groupLevel:
              type: integer
        relationships:
          type: object
          properties:
            subscriptionLocalizations:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - subscriptionLocalizations
                      id:
                        type: string
                    required:
                    - id
                    - type
            appStoreReviewScreenshot:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - subscriptionAppStoreReviewScreenshots
                    id:
                      type: string
                  required:
                  - id
                  - type
            group:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - subscriptionGroups
                    id:
                      type: string
                  required:
                  - id
                  - type
            introductoryOffers:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - subscriptionIntroductoryOffers
                      id:
                        type: string
                    required:
                    - id
                    - type
            promotionalOffers:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - subscriptionPromotionalOffers
                      id:
                        type: string
                    required:
                    - id
                    - type
            offerCodes:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - subscriptionOfferCodes
                      id:
                        type: string
                    required:
                    - id
                    - type
            prices:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - subscriptionPrices
                      id:
                        type: string
                    required:
                    - id
                    - type
            pricePoints:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
            promotedPurchase:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - promotedPurchases
                    id:
                      type: string
                  required:
                  - id
                  - type
            subscriptionAvailability:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                      - subscriptionAvailabilities
                    id:
                      type: string
                  required:
                  - id
                  - type
            winBackOffers:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - winBackOffers
                      id:
                        type: string
                    required:
                    - id
                    - type
            images:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - subscriptionImages
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    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
    ErrorSourceParameter:
      type: object
      title: Parameter
      properties:
        parameter:
          type: string
      required:
      - parameter
    InAppPurchaseState:
      type: string
      enum:
      - MISSING_METADATA
      - WAITING_FOR_UPLOAD
      - PROCESSING_CONTENT
      - READY_TO_SUBMIT
      - WAITING_FOR_REVIEW
      - IN_REVIEW
      - DEVELOPER_ACTION_NEEDED
      - PENDING_BINARY_APPROVAL
      - APPROVED
      - DEVELOPER_REMOVED_FROM_SALE
      - REMOVED_FROM_SALE
      - REJECTED
    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
    ErrorSourcePointer:
      type: object
      title: JsonPointer
      properties:
        pointer:
          type: string
      required:
      - pointer
    InAppPurchaseType:
      type: string
      enum:
      - CONSUMABLE
      - NON_CONSUMABLE
      - NON_RENEWING_SUBSCRIPTION
    PagingInformation:
      type: object
      properties:
        paging:
          type: object
          properties:
            total:
              type: integer
            limit:
              type: integer
            nextCursor:
              type: string
          required:
          - limit
      required:
      - paging
  securitySchemes:
    itc-bearer-token:
      type: http
      scheme: bearer
      bearerFormat: JWT