Skip to main content
POST
/
v2
/
offer
  curl -X POST \
  'https://api.appcharge.com/v2/offer' \
  -H 'Content-Type: application/json' \
  -H 'x-publisher-token: <x-publisher-token>' \
  -d '{
      "publisherOfferId": "bundle-offer-1",
      "name": "My Bundle",
      "type": "Bundle",
      "active": true,
      "segments": [
          "New User"
      ],
      "publisherTabId": "tab-1",
      "productsSequence": [
          {
              "index": 1,
              "products": [
                  {
                      "priority": "Sub",
                      "publisherProductId": "123",
                      "quantity": "500",
                  }
              ]
              "priceInUsdCents": 980
          }
      ],
      "productSale": {
          "type": "percentage",
          "sale": 100
      },
      "priceDiscount": {
          "type": "percentage",
          "discount": 20
      },
      "displayName": "My Bundle",
      "description": "This is my bundle description.",
      "offerUiId": "ac77ff889b",
      "offerExternalUiId": "ac22377ff889cc",
      "badges": [
          {
          "publisherBadgeId": "22ac77ff889b"
          }
      ]
      }'
{
  "publisherId": "35nb7861ec9924a6b69a0fe59",
  "offerId": "226cff96123a8717",
  "publisherOfferId": "bundle-offer-1",
  "name": "My Bundle",
  "displayName": "My Bundle",
  "description": "This is my bundle description.",
  "type": "Bundle",
  "active": true,
  "segments": [
      "New User"
  ],
  "publisherTabId": "tab-1",
  "offerUi": {
      "offerUiId": "27e7fb3663e1bfbbf340ffff",
      "active": true,
      "offerUiType": "Bundle",
      "name": "BundOff273",
      "description": "description",
      "backgroundImage": "https://media.appcharge.com/media/65cb7182__4dc30c81-e4aa-40e8-9033-84cb05721bd0",
      "borderColor": {
          "colorOne": "#ffffff",
          "colorTwo": "",
          "direction": ""
      },
      "borderWidth": 2,
      "externalId": "BundOff273"
  },
  "productsSequence": [
      {
          "index": 1,
          "products": [
              {
                  "product": {
                      "publisherProductId": "123",
                      "name": "Coins",
                      "textFontColorHex": "#FFFFFF",
                      "type": "Quantity",
                      "prefix": "",
                      "suffix": "",
                      "priority": "Sub",
                      "images": [
                          {
                              "type": "product",
                              "url": "https://media.appcharge.com/media/45cb7861ec8924a6b69a0f59/download.jpeg"
                          },
                          {
                              "type": "productPrefix",
                              "url": ""
                          }
                      ],
                      "createdAt": "2024-02-14T10:08:17.061Z",
                      "updatedAt": "2024-09-27T13:41:55.775Z",
                      "displayName": "coins",
                      "productId": "65cc91114cf653a9cc2dce2c"
                  },
                  "publisherProductId": "123",
                  "quantity": 500,
                  "priority": "Main"
              }
          ],
          "priceInUsdCents": 980,
          "badges": [],
          "id": "68b4092c7a895e559a3ac8d9"
      }
  ],
  "badges": [
      {
      "publisherBadgeId": "22ac77ff889b"
      }
  ],
  "productSale": {
      "type": "percentage",
      "sale": 100
  },
  "priceDiscount": {
      "type": "percentage",
      "discount": 20
  },
  "createdAt": "2025-04-06T10:00:44.528Z",
  "updatedAt": "2025-04-06T10:00:44.528Z"
}
  curl -X POST \
  'https://api.appcharge.com/v2/offer' \
  -H 'Content-Type: application/json' \
  -H 'x-publisher-token: <x-publisher-token>' \
  -d '{
      "publisherOfferId": "bundle-offer-1",
      "name": "My Bundle",
      "type": "Bundle",
      "active": true,
      "segments": [
          "New User"
      ],
      "publisherTabId": "tab-1",
      "productsSequence": [
          {
              "index": 1,
              "products": [
                  {
                      "priority": "Sub",
                      "publisherProductId": "123",
                      "quantity": "500",
                  }
              ]
              "priceInUsdCents": 980
          }
      ],
      "productSale": {
          "type": "percentage",
          "sale": 100
      },
      "priceDiscount": {
          "type": "percentage",
          "discount": 20
      },
      "displayName": "My Bundle",
      "description": "This is my bundle description.",
      "offerUiId": "ac77ff889b",
      "offerExternalUiId": "ac22377ff889cc",
      "badges": [
          {
          "publisherBadgeId": "22ac77ff889b"
          }
      ]
      }'
{
  "publisherId": "35nb7861ec9924a6b69a0fe59",
  "offerId": "226cff96123a8717",
  "publisherOfferId": "bundle-offer-1",
  "name": "My Bundle",
  "displayName": "My Bundle",
  "description": "This is my bundle description.",
  "type": "Bundle",
  "active": true,
  "segments": [
      "New User"
  ],
  "publisherTabId": "tab-1",
  "offerUi": {
      "offerUiId": "27e7fb3663e1bfbbf340ffff",
      "active": true,
      "offerUiType": "Bundle",
      "name": "BundOff273",
      "description": "description",
      "backgroundImage": "https://media.appcharge.com/media/65cb7182__4dc30c81-e4aa-40e8-9033-84cb05721bd0",
      "borderColor": {
          "colorOne": "#ffffff",
          "colorTwo": "",
          "direction": ""
      },
      "borderWidth": 2,
      "externalId": "BundOff273"
  },
  "productsSequence": [
      {
          "index": 1,
          "products": [
              {
                  "product": {
                      "publisherProductId": "123",
                      "name": "Coins",
                      "textFontColorHex": "#FFFFFF",
                      "type": "Quantity",
                      "prefix": "",
                      "suffix": "",
                      "priority": "Sub",
                      "images": [
                          {
                              "type": "product",
                              "url": "https://media.appcharge.com/media/45cb7861ec8924a6b69a0f59/download.jpeg"
                          },
                          {
                              "type": "productPrefix",
                              "url": ""
                          }
                      ],
                      "createdAt": "2024-02-14T10:08:17.061Z",
                      "updatedAt": "2024-09-27T13:41:55.775Z",
                      "displayName": "coins",
                      "productId": "65cc91114cf653a9cc2dce2c"
                  },
                  "publisherProductId": "123",
                  "quantity": 500,
                  "priority": "Main"
              }
          ],
          "priceInUsdCents": 980,
          "badges": [],
          "id": "68b4092c7a895e559a3ac8d9"
      }
  ],
  "badges": [
      {
      "publisherBadgeId": "22ac77ff889b"
      }
  ],
  "productSale": {
      "type": "percentage",
      "sale": 100
  },
  "priceDiscount": {
      "type": "percentage",
      "discount": 20
  },
  "createdAt": "2025-04-06T10:00:44.528Z",
  "updatedAt": "2025-04-06T10:00:44.528Z"
}

Headers

x-publisher-token
string
required

The publisher token used for authentication.

Body

application/json
publisherOfferId
string
required

The unique identifier for the bundle.

name
string
required

The name of the bundle (at least 3 characters).

type
enum<string>
required

The type of offer - In this case 'Bundle'.

Available options:
Bundle
active
boolean
required

Whether the bundle is active.

segments
string[]
required

List of player segments that this bundle applies to (e.g., ["NewUser", "BigSpender"]).

productsSequence
object[]
required

The sequence of products included in the bundle.

displayName
string

If not specified, the bundle name will be used.

description
string

The description of the offer (conditionally returned).

offerUiId
string

Internal ID for the Offer UI (required if offerExternalUiId not provided).

offerExternalUiId
string

The external UI ID for the bundle.

publisherSectionId
string

The publisher section ID.

publisherTabId
string

Tab ID in the web store.

badges
object[]

List of badges associated with the bundle.

productSale
object

Sale details for products in the bundle. The sale will only be applied on the first product.

priceDiscount
object

Discount applied to the bundle price.

Response

Bundle created successfully.

publisherId
string

Publisher ID.

offerId
string

The unique identifier of the bundle.

publisherOfferId
string

The bundle offer ID provided by the publisher. This is the offer's External ID value in the Publisher Dashboard.

name
string

The name of the bundle.

displayName
string

The display name of the bundle.

description
string

The description of the offer (conditionally returned).

type
string

The type of offer.

active
boolean

Whether the bundle is active.

segments
string[]

List of player segments that this bundle applies to (e.g., ["NewUser", "BigSpender"]).

publisherTabId
string

Tab ID in the web store.

offerUi
object

Details on the bundle design, as configured in the Publisher Dashboard.

productsSequence
object[]

A sequence of products in the bundle.

badges
object[]

List of badges associated with the bundle

productSale
object

Sale details for products in the bundle. The sale will only be applied on the first product.

priceDiscount
object

Discount applied to the special offer price.

createdAt
string<date-time>

Date the bundle was created.

updatedAt
string<date-time>

Date the bundle was updated.

I