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": "daily-bonus-1",
      "name": "My Daily Bonus",
      "type": "PopUp",
      "subType": "DailyBonus",
      "active": true,
      "productsSequence": [
          {
              "index": 1,
              "products": [
                  {
                      "priority":"Main",
                      "publisherProductId": "TreasureChest",
                      "quantity": 10
                  }
              ],
              "priceInUsdCents": 2000
          }
      ]
      "productSale": {
          "type": "percentage",
          "sale": 10
      },
      "priceDiscount": {
          "type": "percentage",
          "discount": 10
      },
      "displayName": "My Daily Bonus",
      "description": "This is my daily bonus description.",
      "offerUiId": "68b41c4aa1c5b1a284737e9b",
      "offerExternalUiId": "58b41c4aa1c5b1a284737e9b",
      "segments": [
          "New User"
      ],
      "badges": [
          {
          "publisherBadgeId": "22ac77ff889b"
          }
      ]
  }'
{
  "offerId": "223b4cc89711ac",
  "publisherOfferId": "daily-bonus-1",
  "name": "My Daily Bonus",
  "type": "PopUp",
  "subType": "DailyBonus",
  "displayName": "My Daily Bonus",
  "description": "This is my daily bonus description.",
  "type": "string",
  "active": true,
  "segments": [
      "New User"
  ],
  "offerUi": {
      "offerUiId": "68b41c4aa1c5b1a284737e9b",
      "active": true,
      "offerUiType": "PopUp",
      "offerUiSubType": "DailyBonus",
      "name": "popup",
      "description": "description",
      "backgroundImage": "https://media.appcharge.com/media/75cb7861ec8924a63338-5790-47c8-a6a0-23cb43db5883",
      "buttonSuffixImage": "",
      "buttonSuffixAnimation": "",
      "specialOffer": {
          "templateType": "Single",
          "presentOfferEndTimer": false,
          "title": "jrwtnip",
          "fontSize": 620,
          "fontWeight": "normal",
          "fontColor": {
              "colorOne": "#ffffff"
          },
          "subTitle": {
              "text": "",
              "fontSize": 16,
              "fontWeight": "normal",
              "fontColor": {
                  "colorOne": "#ffffff"
              }
          },
          "backgroundColor": {
              "colorOne": "#CACBD4"
          }
      },
      "borderColor": {
          "colorOne": "#e70d0d",
          "colorTwo": "",
          "direction": ""
      },
      "borderWidth": 10,
      "externalId": "popup"
  },
  "productsSequence": [
      {
          "index": 1,
          "products": [
              {
                  "product": {
                      "publisherProductId": "TreasureChest",
                      "name": "Treasure Chest",
                      "type": "Quantity",
                      "prefix": "$",
                      "suffix": "M",
                      "priority": "Main",
                      "images": [
                          {
                              "type": "product",
                              "url": "https://media.appcharge.com/media/35nb7861ec9924a6b69a0fe59/2208472.png"
                          },
                          {
                              "type": "productPrefix",
                              "url": ""
                          }
                      ],
                      "displayName": "Treasure Chest"
                  }
              }
          ]
      }
  ],
  "badges": [
      {
      "publisherBadgeId": "22ac77ff889b"
      }
  ],
  "productSale": {
      "type": "percentage",
      "sale": 10
  },
  "priceDiscount": {
      "type": "percentage",
      "discount": 10
  },
  "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": "daily-bonus-1",
      "name": "My Daily Bonus",
      "type": "PopUp",
      "subType": "DailyBonus",
      "active": true,
      "productsSequence": [
          {
              "index": 1,
              "products": [
                  {
                      "priority":"Main",
                      "publisherProductId": "TreasureChest",
                      "quantity": 10
                  }
              ],
              "priceInUsdCents": 2000
          }
      ]
      "productSale": {
          "type": "percentage",
          "sale": 10
      },
      "priceDiscount": {
          "type": "percentage",
          "discount": 10
      },
      "displayName": "My Daily Bonus",
      "description": "This is my daily bonus description.",
      "offerUiId": "68b41c4aa1c5b1a284737e9b",
      "offerExternalUiId": "58b41c4aa1c5b1a284737e9b",
      "segments": [
          "New User"
      ],
      "badges": [
          {
          "publisherBadgeId": "22ac77ff889b"
          }
      ]
  }'
{
  "offerId": "223b4cc89711ac",
  "publisherOfferId": "daily-bonus-1",
  "name": "My Daily Bonus",
  "type": "PopUp",
  "subType": "DailyBonus",
  "displayName": "My Daily Bonus",
  "description": "This is my daily bonus description.",
  "type": "string",
  "active": true,
  "segments": [
      "New User"
  ],
  "offerUi": {
      "offerUiId": "68b41c4aa1c5b1a284737e9b",
      "active": true,
      "offerUiType": "PopUp",
      "offerUiSubType": "DailyBonus",
      "name": "popup",
      "description": "description",
      "backgroundImage": "https://media.appcharge.com/media/75cb7861ec8924a63338-5790-47c8-a6a0-23cb43db5883",
      "buttonSuffixImage": "",
      "buttonSuffixAnimation": "",
      "specialOffer": {
          "templateType": "Single",
          "presentOfferEndTimer": false,
          "title": "jrwtnip",
          "fontSize": 620,
          "fontWeight": "normal",
          "fontColor": {
              "colorOne": "#ffffff"
          },
          "subTitle": {
              "text": "",
              "fontSize": 16,
              "fontWeight": "normal",
              "fontColor": {
                  "colorOne": "#ffffff"
              }
          },
          "backgroundColor": {
              "colorOne": "#CACBD4"
          }
      },
      "borderColor": {
          "colorOne": "#e70d0d",
          "colorTwo": "",
          "direction": ""
      },
      "borderWidth": 10,
      "externalId": "popup"
  },
  "productsSequence": [
      {
          "index": 1,
          "products": [
              {
                  "product": {
                      "publisherProductId": "TreasureChest",
                      "name": "Treasure Chest",
                      "type": "Quantity",
                      "prefix": "$",
                      "suffix": "M",
                      "priority": "Main",
                      "images": [
                          {
                              "type": "product",
                              "url": "https://media.appcharge.com/media/35nb7861ec9924a6b69a0fe59/2208472.png"
                          },
                          {
                              "type": "productPrefix",
                              "url": ""
                          }
                      ],
                      "displayName": "Treasure Chest"
                  }
              }
          ]
      }
  ],
  "badges": [
      {
      "publisherBadgeId": "22ac77ff889b"
      }
  ],
  "productSale": {
      "type": "percentage",
      "sale": 10
  },
  "priceDiscount": {
      "type": "percentage",
      "discount": 10
  },
  "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 daily bonus offer.

name
string
required

The name of the daily bonus offer (at least 3 characters).

type
enum<string>
default:PopUp
required

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

Available options:
PopUp
subType
enum<string>
default:DailyBonus
required

The subType of the offer - In this case 'DailyBonus'.

Available options:
DailyBonus
active
boolean
required

Whether the daily bonus offer is active.

productsSequence
object[]
required

The sequence of products included in the daily bonus offer.

displayName
string

The display name of the daily bonus offer. If not provided, the name will be used.

description
string

The description of the daily bonus offer.

priority
integer

The priority level of the daily bonus offer. The priority start from 1 (1 being the highest priority).

startOver
boolean

Whether the daily bonus should restart after completion.

offerUiId
string

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

offerExternalUiId
string

The external UI ID for the daily bonus offer.

segments
string[]

List of player segments that this daily bonus offer applies to.

Response

Daily bonus offer created successfully.

publisherId
string

Publisher ID.

offerId
string

The unique identifier of the daily bonus.

publisherOfferId
string

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

name
string

The name of the daily bonus.

displayName
string

The display name of the daily bonus. If not provided, the name will be used.

description
string

The description of the daily bonus (conditionally returned)

type
string

The type of offer.

subtype
string

The subType of the offer - In this case 'DailyBonus'.

active
boolean

Whether the daily bonus is active.

segments
string[]

List of player segments that this daily bonus applies to (e.g., ["NewUser", "BigSpender"]). This is empty by default.

offerUi
object

UI configuration for the daily bonus.

productsSequence
object[]

A sequence of products in the daily bonus.

createdAt
string<date-time>

Date the daily bonus was created.

updatedAt
string<date-time>

Date the daily bonus was updated.

I