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.

priority
integer
required

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

segments
string[]
required

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

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.

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.

publisherSectionId
string

The publisher section ID.

publisherTabId
string

Tab ID in the web store.

showAfter
string

Event after which the popup can be shown.

triggers
object[]

Triggers that determine when the popup is shown.

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.