Skip to main content
PUT
/
v2
/
offer
/
$
{publisherOfferId}
  curl -X POST \
  'https://api.appcharge.com/v2/offer/special-offer-1' \
  -H 'Content-Type: application/json' \
  -H 'x-publisher-token: <x-publisher-token>' \
  -d '{
      "name": "My New Special Offer Name",
      "type": "SpecialOffer",
      "active": true,
      "segments": [
          "New User"
      ],
      "productsSequence": [
          {
              "index": 1,
              "playerAvailability": 12,
              "products": [
                  {
                      "priority": "Sub",
                      "publisherProductId": "6cb43621ccf1",
                      "quantity": "100",
                  }
              ]
              "priceInUsdCents": 1000
          }
      ],
      "productSale": {
          "type": "percentage",
          "sale": 100
      },
      "priceDiscount": {
          "type": "percentage",
          "discount": 20
      },
      "displayName": "My Special Offer",
      "description": "This is my special offer description.",
      "offerUiId": "2bc77ff889b",
      "offerExternalUiId": "2bc22377ff889cc",
      "badges": [
          {
          "publisherBadgeId": "12ac77ff889b"
          }
      ]
  }'
{
  "publisherId": "35nb7861ec9924a6b69a0fe59",
  "offerId": "226cff96123a8717",
  "publisherOfferId": "special-offer-1",
  "displayName": "My Special Offer",
  "description": "This is my special offer description.",
  "name": "My New Special Offer Name",
  "type": "SpecialOffer",
  "active": true,
  "segments": [
      "New User"
  ],
  "publisherTabId": "tab-1",
  "offerUi": {
      "offerUiId": "2bc77ff889b",
      "active": true,
      "offerUiType": "SpecialOffer",
      "name": "specialOffer1",
      "description": "description",
      "backgroundImage": "https://media.appcharge.com/media/65cb7182__4dc30c81-e4aa-40e8-9033-84cb05721bd0",
      "borderColor": {
          "colorOne": "#ffffff",
          "colorTwo": "",
          "direction": ""
      },
      "borderWidth": 2,
      "externalId": "specialOffer1"
  },
  "productsSequence": [
      {
          "index": 1,
          "playerAvailability": 12,
          "products": [
              {
                  "product": {
                      "publisherProductId": "6cb43621ccf1",
                      "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": "75cc91114cf653a9cc2dce2c"
                  },
                  "publisherProductId": "6cb43621ccf1",
                  "quantity": 1000,
                  "priority": "Main"
              }
          ],
          "priceInUsdCents": 980,
          "badges": [],
          "id": "68b4092c7a895e559a3ac8d9"
      }
  ],
  "productSale": {
      "type": "percentage",
      "sale": 100
  },
  "priceDiscount": {
      "type": "percentage",
      "discount": 20
  },
  "offerExternalUiId": "2bc22377ff889cc",
  "badges": [
      {
      "publisherBadgeId": "12ac77ff889b"
      }
  ],
  "createdAt": "2025-04-06T10:00:44.528Z",
  "updatedAt": "2025-06-06T10:00:44.528Z"
}
  curl -X POST \
  'https://api.appcharge.com/v2/offer/special-offer-1' \
  -H 'Content-Type: application/json' \
  -H 'x-publisher-token: <x-publisher-token>' \
  -d '{
      "name": "My New Special Offer Name",
      "type": "SpecialOffer",
      "active": true,
      "segments": [
          "New User"
      ],
      "productsSequence": [
          {
              "index": 1,
              "playerAvailability": 12,
              "products": [
                  {
                      "priority": "Sub",
                      "publisherProductId": "6cb43621ccf1",
                      "quantity": "100",
                  }
              ]
              "priceInUsdCents": 1000
          }
      ],
      "productSale": {
          "type": "percentage",
          "sale": 100
      },
      "priceDiscount": {
          "type": "percentage",
          "discount": 20
      },
      "displayName": "My Special Offer",
      "description": "This is my special offer description.",
      "offerUiId": "2bc77ff889b",
      "offerExternalUiId": "2bc22377ff889cc",
      "badges": [
          {
          "publisherBadgeId": "12ac77ff889b"
          }
      ]
  }'
{
  "publisherId": "35nb7861ec9924a6b69a0fe59",
  "offerId": "226cff96123a8717",
  "publisherOfferId": "special-offer-1",
  "displayName": "My Special Offer",
  "description": "This is my special offer description.",
  "name": "My New Special Offer Name",
  "type": "SpecialOffer",
  "active": true,
  "segments": [
      "New User"
  ],
  "publisherTabId": "tab-1",
  "offerUi": {
      "offerUiId": "2bc77ff889b",
      "active": true,
      "offerUiType": "SpecialOffer",
      "name": "specialOffer1",
      "description": "description",
      "backgroundImage": "https://media.appcharge.com/media/65cb7182__4dc30c81-e4aa-40e8-9033-84cb05721bd0",
      "borderColor": {
          "colorOne": "#ffffff",
          "colorTwo": "",
          "direction": ""
      },
      "borderWidth": 2,
      "externalId": "specialOffer1"
  },
  "productsSequence": [
      {
          "index": 1,
          "playerAvailability": 12,
          "products": [
              {
                  "product": {
                      "publisherProductId": "6cb43621ccf1",
                      "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": "75cc91114cf653a9cc2dce2c"
                  },
                  "publisherProductId": "6cb43621ccf1",
                  "quantity": 1000,
                  "priority": "Main"
              }
          ],
          "priceInUsdCents": 980,
          "badges": [],
          "id": "68b4092c7a895e559a3ac8d9"
      }
  ],
  "productSale": {
      "type": "percentage",
      "sale": 100
  },
  "priceDiscount": {
      "type": "percentage",
      "discount": 20
  },
  "offerExternalUiId": "2bc22377ff889cc",
  "badges": [
      {
      "publisherBadgeId": "12ac77ff889b"
      }
  ],
  "createdAt": "2025-04-06T10:00:44.528Z",
  "updatedAt": "2025-06-06T10:00:44.528Z"
}

Headers

x-publisher-token
string
required

The publisher token used for authentication.

Path Parameters

publisherOfferId
string
required

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

Body

application/json
name
string
required

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

type
enum<string>
default:SpecialOffer
required

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

Available options:
SpecialOffer
active
boolean
required

Whether the special offer is active.

segments
string[]
required

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

productsSequence
object[]
required

The sequence of products included in the special offer. Only one Products Sequence is allowed.

displayName
string

If not specified, the special offer 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 offer UI ID as configured by the publisher (if provided, offerUiId is not required).

publisherTabId
string

Tab ID in the web store.

badges
object[]

List of badges associated with the special offer.

productSale
object

Sale details for products in the special offer. The sale will only be applied on the first offer.

priceDiscount
object

Discount applied to the special offer price.

schedule
object

The schedule for when the special offer is available.

Response

Special offer updated successfully.

publisherId
string

Publisher ID.

offerId
string

The unique identifier of the special offer.

publisherOfferId
string

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

name
string

The name of the special offer.

displayName
string

The display name of the special offer.

description
string

The description of the offer (conditionally returned)

type
string

The type of special offer.

active
boolean

Whether the special offer is active.

segments
string[]

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

publisherTabId
string

Tab ID in the web store.

offerUi
object

UI configuration for the special offer.

productsSequence
object[]

A sequence of products in the special offer.

badges
object[]

List of badges associated with the special offer.

productSale
object

Sale details for products in the special offer. The sale will only be applied on the first offer.

priceDiscount
object

Discount applied to the special offer price.

schedule
object

The schedule for when the special offer is available.

createdAt
string<date-time>

Date the special offer was created.

updatedAt
string<date-time>

Date the special offer was updated.

I