Appcharge Popups API

The Popups API from Appcharge — 1 operation(s) for popups.

OpenAPI Specification

appcharge-popups-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Appcharge Assets Popups API
  version: 1.0.0
  description: Appcharge is a monetization platform for mobile games, providing a direct-to-consumer (D2C) web store, mobile Checkout SDK, and Payment Links so publishers can sell in-game offers outside the app stores. This API covers checkout sessions, refunds, coupons and promo codes, price localization, financial and analytics reporting, web store offers (bundles, daily bonuses, rolling/special offers, progress bars, reward calendars, triggered popups), offer components (products, badges, offer designs), game-portal content, media assets, translations, and player personalization/authentication callbacks. Authentication uses the x-publisher-token header; webhooks are signed with an HMAC-SHA256 signature.
  contact:
    name: Appcharge Developer Support
    url: https://docs.appcharge.com/
  x-apievangelist-source: https://docs.appcharge.com/api-reference (Mintlify embedded OpenAPI fragments)
  x-apievangelist-method: searched
  x-apievangelist-generated: '2026-07-17'
servers:
- url: https://api.appcharge.com
  description: Production
- url: https://api-sandbox.appcharge.com
  description: Sandbox
tags:
- name: Popups
paths:
  /offering/offer/popup:
    post:
      tags:
      - Popups
      operationId: create-post-purchase-popup
      parameters:
      - name: x-publisher-token
        required: true
        in: header
        description: The publisher token
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePopupDto'
      responses:
        '201':
          description: Create a new Offer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PopupDtoResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  requestUrl:
                    type: string
                  body:
                    type: string
        '401':
          description: Not Authorized
components:
  schemas:
    ProductsSequenceResponse:
      type: object
      properties:
        index:
          type: number
        playerAvailability:
          type: number
        priceInUsdCents:
          type: number
        products:
          type: array
          items:
            $ref: '#/components/schemas/ProductsSetResponse'
    ProductsSequence:
      type: object
      properties:
        index:
          type: number
        priceInUsdCents:
          type: number
        playerAvailability:
          type: number
        products:
          type: array
          items:
            $ref: '#/components/schemas/ProductsSet'
      required:
      - index
      - priceInUsdCents
      - products
    PopupDtoResponse:
      type: object
      properties:
        offerId:
          type: string
          description: The Id of the offer.
          example: 655dc8a546822b3e7586b7b7
        publisherOfferId:
          type: string
          description: The publisher offer Id.
          example: offer1
        name:
          type: string
          description: The name of the offer.
          example: Test_PopUp
        displayName:
          type: string
          description: The display name of the offer. If not specified, the offer name will be used. Conditionally returned.
        description:
          type: string
          description: The description of the offer, At least 3 letters. Conditionally returned.
          example: N/A
        type:
          type: string
          description: 'The type of the offer. In this case: PopUp.'
          example: PopUp
        subType:
          type: string
          description: Price of the products set in cents. Will be returned as 0 since subtype daily bonus.
        createdBy:
          type: string
          description: The platform which the offer was created from (Dashboard, API)
          example: API
        offerUi:
          $ref: '#/components/schemas/OfferUiDto'
        active:
          type: boolean
          description: Is the offer active? true/false.
          example: 'true'
        coolDownInHours:
          type: number
          description: 'Used for cooldown between orders. **DEPRECATION WARNING**: This field will be removed in future releases.'
          example: '1'
        segments:
          type: array
          items:
            type: string
          description: 'The Ids of the player segments to be used in the segmentation algorithm. for example: [“NewUser”, “BigSpender”].'
          example: '[NewUser]'
        productsSequence:
          type: array
          items:
            $ref: '#/components/schemas/ProductsSequenceResponse'
          description: The products sequense containing the sets of products.
        startOver:
          type: boolean
          description: If true, popup will repeat itself.
        priority:
          type: number
          description: Defines the order of priority of for displaying popup.
        showAfter:
          type: string
          description: Event for which only after the popup appear.
        createdAt:
          format: date-time
          type: string
          description: the time when the offer was created, in UTC.
          example: '2023-07-05T12:01:06.113Z'
        updatedAt:
          format: date-time
          type: string
          description: the time when the offer was updated, in UTC.
          example: '2023-07-05T12:01:06.113Z'
    ProductsSet:
      type: object
      properties:
        quantity:
          type: number
        publisherProductId:
          type: string
      required:
      - quantity
      - publisherProductId
    ProductDto:
      type: object
      properties:
        publisherProductId:
          type: string
        name:
          type: string
        textFontColorHex:
          type: string
        type:
          type: string
        prefix:
          type: string
        suffix:
          type: string
        priority:
          type: string
        images:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              url:
                type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        productId:
          type: string
    OfferUiDto:
      type: object
      properties:
        offerUiId:
          type: string
        externalId:
          type: string
        active:
          type: boolean
        offerUiType:
          type: string
        name:
          type: string
        description:
          type: string
        backgroundImage:
          type: string
        specialOffer:
          type: object
          properties:
            templateType:
              type: string
            presentOfferEndTimer:
              type: boolean
            title:
              type: string
            fontSize:
              type: number
            fontWeight:
              type: string
            fontColor:
              type: object
              properties:
                colorOne:
                  type: string
                colorTwo:
                  type: string
                direction:
                  type: string
            backgroundColor:
              type: object
              properties:
                colorOne:
                  type: string
                colorTwo:
                  type: string
                direction:
                  type: string
    ProductsSetResponse:
      type: object
      properties:
        quantity:
          type: number
        product:
          $ref: '#/components/schemas/ProductDto'
    CreatePopupDto:
      type: object
      properties:
        publisherOfferId:
          type: string
          description: The publisher offer Id.
          example: offer1
        name:
          type: string
          description: The name of the offer. At least 3 letters.
          example: Test_PopUp
        displayName:
          type: string
          description: The display name of the offer. If not specified, the offer name will be used.
        description:
          type: string
          description: The description of the offer, At least 3 letters.
          example: Best offer ever.
        type:
          type: string
          description: The type of the offer, in this case 'PopUp'.
          example: PopUp
        subType:
          type: string
          description: The type of popup. In this case 'DailyBonus'.
        priority:
          type: number
          description: Choose the priority of the order in which the popups will be displayed, 1 being first
        offerUiId:
          type: string
          description: The Internal ID for the Offer UI. The Offer UI is responsible to add UI elements to the offers such as background image and title. Once you create the Offer UI using the dashboard, you will get the internal ID.
          example: 64a55b82e06998282d3d9b59
        offerExternalUiId:
          type: string
          description: The offer UI ID as configured by the publisher. If offerExternalUiId is provided, then offerUiId will not be required.
          example: b9c1e7a3d1f8b2a4c6e5d8f3
        active:
          type: boolean
          description: Is the offer active? true/false.
          example: 'true'
        segments:
          type: array
          items:
            type: string
          description: 'The Ids of the player segments to be used in the segmentation algorithm. for example: [“NewUser”, “BigSpender”]. This param is required but can be left empty.'
          example: NewUser
        startOver:
          type: boolean
          description: If true, popup will repeat itself.
        productsSequence:
          type: array
          items:
            $ref: '#/components/schemas/ProductsSequence'
          description: An array of product sequences, where each sequence represents a day. Only one product sequence is displayed per day.
      required:
      - publisherOfferId
      - name
      - type
      - offerUiId
      - active
      - segments
      - productsSequence
      - subType
      - priority
      - startOver
  securitySchemes:
    PublisherTokenAuth:
      type: apiKey
      in: header
      name: x-publisher-token
      description: Publisher token, as displayed in the Publisher Dashboard.