Appcharge Products API

The Products API from Appcharge — 2 operation(s) for products.

OpenAPI Specification

appcharge-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Appcharge Assets Products 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: Products
paths:
  /components/v1/product:
    post:
      tags:
      - Products
      description: Creates a product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductCreate'
      responses:
        '200':
          description: Product created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '400':
          description: Bad request. Invalid input or validation failure.
      operationId: postComponentsV1Product
    get:
      tags:
      - Products
      description: Retrieves a list of all products.
      responses:
        '200':
          description: Products retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllProductResponse'
      operationId: getComponentsV1Product
  /components/v1/product/{externalId}:
    parameters:
    - in: path
      name: externalId
      required: true
      schema:
        type: string
        example: gold_coins_pack
      description: External ID that you defined.
    delete:
      tags:
      - Products
      description: Deletes a product.
      responses:
        '200':
          description: Product deleted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '404':
          description: Product not found.
      operationId: deleteComponentsV1ProductExternalid
    get:
      tags:
      - Products
      description: Retrieves the details of a specific product.
      responses:
        '200':
          description: Product details retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '404':
          description: Product not found.
      operationId: getComponentsV1ProductExternalid
    put:
      tags:
      - Products
      description: Updates a product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductUpdate'
      responses:
        '200':
          description: Product updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        '400':
          description: Bad request. Invalid input or validation failure.
        '404':
          description: Product not found.
      operationId: putComponentsV1ProductExternalid
components:
  schemas:
    GetAllProductResponse:
      type: object
      properties:
        getAllProductResponse:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Product ID.
                example: 507f1f77bcf86cd799439015
              name:
                type: string
                description: Product name.
                example: Gold Coins Pack
              displayName:
                type: string
                description: Product display name.
                example: Gold Coins
              publisherProductId:
                type: string
                description: Product ID that you defined.
                example: gold_coins_100
              type:
                type: string
                enum:
                - Quantity
                - Time
                description: Product unit type.
                example: Quantity
              description:
                type: string
                description: Product description.
                example: A pack of 100 gold coins.
              prefix:
                type: string
                description: Product prefix text.
                example: Get
              suffix:
                type: string
                description: Product suffix text.
                example: coins
              textFontColorHex:
                type: string
                pattern: ^#[0-9a-fA-F]{6}$
                description: Product text font color in hex format.
                example: '#f5c518'
              productImageUrl:
                type: string
                format: url
                description: Product image URL. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL.
                example: https://media.appcharge.com/media/69133d595af23405d8e843a5
              productPrefixImageUrl:
                type: string
                format: url
                description: Product prefix image URL. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL.
                example: https://media.appcharge.com/media/69133d595af23405d8e843a5
              productImageExternalUrl:
                type: string
                format: url
                description: Original product image URL when the product uses an external image URL. This URL is used as provided to serve the image.
                example: https://images.pexels.com/photos/35406321/pexels-photo-35406321.jpeg
    ProductResponse:
      type: object
      properties:
        id:
          type: string
          description: Product ID.
          example: 507f1f77bcf86cd799439015
        name:
          type: string
          description: Product name.
          example: Gold Coins Pack
        displayName:
          type: string
          description: Product display name.
          example: Gold Coins
        publisherProductId:
          type: string
          description: Product ID that you defined.
          example: gold_coins_100
        type:
          type: string
          enum:
          - Quantity
          - Time
          description: Product unit type.
          example: Quantity
        description:
          type: string
          description: Product description.
          example: A pack of 100 gold coins.
        prefix:
          type: string
          description: Product prefix text.
          example: Get
        suffix:
          type: string
          description: Product suffix text.
          example: coins
        textFontColorHex:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
          description: Product text font color in hex format.
          example: '#f5c518'
        productImageUrl:
          type: string
          format: url
          description: Product image URL. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL.
          example: https://media.appcharge.com/media/69133d595af23405d8e843a5
        productPrefixImageUrl:
          type: string
          format: url
          description: Product prefix image URL. For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL.
          example: https://media.appcharge.com/media/69133d595af23405d8e843a5
        productImageExternalUrl:
          type: string
          format: url
          description: Original product image URL when the product uses an external image URL. This URL is used as provided to serve the image.
          example: https://images.pexels.com/photos/35406321/pexels-photo-35406321.jpeg
    ProductUpdate:
      type: object
      properties:
        name:
          type: string
          description: Product name.
          example: Premium Gold Coins Pack
        displayName:
          type: string
          description: Product display name.
          example: Premium Gold Coins
        publisherProductId:
          type: string
          description: Product ID that you define
          example: gold_coins_100
        type:
          type: string
          enum:
          - Quantity
          - Time
          description: Product unit type.
          example: Quantity
        prefix:
          type: string
          description: Product prefix text.
          example: Get
        suffix:
          type: string
          description: Product suffix text.
          example: premium coins
        textFontColorHex:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
          description: Product text font color in hex format.
          example: '#d4af37'
        productImageUrl:
          type: string
          format: url
          description: 'Product image URL in PNG or JPEG format.


            For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL. External image URLs are saved and used as-is, and Appcharge doesn''t download, copy, upload, or host them. Images must remain available at the provided URLs.


            We recommend uploading image files instead of using external URLs when possible.'
          example: https://media.appcharge.com/media/69133d595af23405d8e843a5
        productPrefixImageUrl:
          type: string
          format: url
          description: 'Product prefix image URL in PNG or JPEG format.


            For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL. External image URLs are saved and used as-is, and Appcharge doesn''t download, copy, upload, or host them. Images must remain available at the provided URLs.


            We recommend uploading image files instead of using external URLs when possible.'
          example: https://media.appcharge.com/media/69133d595af23405d8e843a5
    ProductCreate:
      type: object
      properties:
        name:
          type: string
          description: Product name.
          example: Gold Coins Pack
        displayName:
          type: string
          description: Product display name.
          example: Gold Coins
        publisherProductId:
          type: string
          description: Product ID that you define.
          example: gold_coins_100
        type:
          type: string
          enum:
          - Quantity
          - Time
          description: Product unit type.
          example: Quantity
        description:
          type: string
          description: Product description.
          example: A pack of 100 gold coins.
        prefix:
          type: string
          description: Product prefix text.
          example: Get
        suffix:
          type: string
          description: Product suffix text.
          example: coins
        textFontColorHex:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
          description: Product text font color in hex format.
          example: '#f5c518'
        productImageUrl:
          type: string
          format: url
          description: 'Product image URL in PNG or JPEG format.


            For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL. External image URLs are saved and used as-is, and Appcharge doesn''t download, copy, upload, or host them. Images must remain available at the provided URLs.


            We recommend uploading image files instead of using external URLs when possible.'
          example: https://media.appcharge.com/media/69133d595af23405d8e843a5
        productPrefixImageUrl:
          type: string
          format: url
          description: 'Product prefix image URL in PNG or JPEG format.


            For uploaded files, this is the Appcharge-hosted CDN URL. For external image URLs, this is the original image URL served from the provided URL. External image URLs are saved and used as-is, and Appcharge doesn''t download, copy, upload, or host them. Images must remain available at the provided URLs.


            We recommend uploading image files instead of using external URLs when possible.'
          example: https://media.appcharge.com/media/69133d595af23405d8e843a5
      required:
      - name
      - publisherProductId
      - type
      - textFontColorHex
      - productImageUrl
  securitySchemes:
    PublisherTokenAuth:
      type: apiKey
      in: header
      name: x-publisher-token
      description: Publisher token, as displayed in the Publisher Dashboard.