Appcharge Products API
The Products API from Appcharge — 2 operation(s) for products.
The Products API from Appcharge — 2 operation(s) for products.
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.