Publisher Management API 1.3

Version History

History Note
Ver 1.3

Document update 2024-02-28

Ver 1.2

Document update 2022-03-21

Ver 1.1

Document update 2020-06-02

Ver 1.0 Document creation 2020-03-05

Overview

The Liftoff Monetize Publisher Management API allows you to perform a number of publishing and app management tasks. It includes:

  • Create, get, and edit applications
  • Create, get, and edit placements

You can view the app and placement you created on the dashboard when you log in with your Liftoff account information.

Get Started

To start using the Publisher Management API, make sure you: 

  • have a valid account, set up in the Liftoff Monetize dashboard
  • have read these API instructions 
  • use the Vungle_Publisher_API_v1.2.yaml file that is attached to this article

API Endpoints

  • https:/https://auth-api.vungle.com/v2/auth
  • https://publisher-api.vungle.com/api/v1/applications

API Instructions

Step 1. Log In and Copy the Secret Token

Login to the Monetize Dashboard and select My Account from the menu in the top right. Copy your secret token.

step1.png

Sample Token

Sample token if you have an existing account (your token will have the old format):

252d20a04235f953712db952ddf42374

Sample token if you are creating a new account (your token is generated using a new format):

eyJyYXciOiJhOTI3NjkxNDMyZWY1YzgyYTFkOWRjMzUzODI3ZDc4ZDY2MTViNGM4YWFmOWMxN2Q3YzI2MWY3MjUyZDZjMjExM2M1ZjI3ZWY4YjRiOWQ1NzE4Yzk3ZDcyZTZjMDJmZDQiLCJpZCI6IjYzZGI0MjVhZjQ1ZTBkMDAxMTA2NzEzMyIsIm5hbWUiOiJwdWJfYXBpX3JlZnJlc2gifQ==

Step 2. Sign a JWT Token

With your secret token copied in Step 1, sign a JWT token to call the Publisher Management API:

Example using cURL:

curl -X GET "https://auth-api.vungle.com/v2/auth" -H "x-api-key: [token]"

Replace [token] with the token you copied in Step 1.

The response should be similar to this:

{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzZGI0MjVhZjQ1ZTBkMDAxMTA2NzEzMyIsImFjY291bnQiOiI1YWFmNzY5NWZhNDc5NDIxNDkwZmRjNGEiLCJlbWFpbCI6Indlc2hpQGxpZnRvZmYuaW8iLCJmZWF0dXJlcyI6WyJmZWF0dXJlX2ZsYXRfY3BtX2Z1bGwiLCJmZWF0dXJlX2NwbV9mbG9vciIsImZlYXR1cmVfbWF4X2FkX2R1cmF0aW9uIiwiZmVhdHVyZV9mbGF0X2NwbV9ub25mdWxsIl0sInJvbGUiOiJzdXBlcl9hZG1pbiIsImlhdCI6MTY5MjA4MzM5MiwiZXhwIjoxNjkyMTEyMTkyfQ.GGsG5LoG9cinKdQUvH_PiYr4GjlQ2quWw7gR2-Y_4ck"}

Possible Errors

  • Forbidden:
    {"messages":["Forbidden."],"code":400403}

    You may have copied the wrong token. Make sure you copy the Secret Token as opposed to the API Key or the Reporting API Key.

  • Account not activated:
    {"messages":["Account not activated."],"code":403001}

    You must activate your Liftoff Monetize account first. Check your email inbox for the activation email.

Step 3. Create Applications

Use this API to create applications. The response will include the app name, platform, Liftoff app ID, etc. Refer to the response body for more details.

Method: POST / applications

cURL example:

curl -X POST "https://publisher-api.vungle.com/api/v1/applications" \
      -H "accept: application/json" \
      -H "Authorization: [API Token]" \
      -H "Content-Type: application/json" \
      -d '{ 
          "platform": "ios", 
          "name": "test_app_789", 
          "store": { 
              "id": "string",
              "category": "Battle Royale", 
              "isPaid": true, 
              "isManual": true, 
              "url": "https://testmyapp.com", 
              "thumbnail": "string" 
          }, 
          "isCoppa": true}'
  

Response body:

{
    "isCoppa": true,
    "name": "Test_Creating_an_application",
    "platform": "ios",
    "store": {
      "category": "",
      "id": "1234567890",
      "isManual": true,
      "isPaid": false
    },
    "id": "5e56099c57d130000137da68",
    "owner": "5dd268c7a4305a00173ba129",
    "status": "test",
    "vungleAppId": "5e56099c57d130000137da68",
    "connection": "all",
    "defaultPlacement": "5e56099c57d130000137da6a",
    "forceView": {
      "nonRewarded": false,
      "rewarded": true
    },
    "maxVideoLength": 46,
    "minOsVer": "6.0",
    "orientation": "both",
    "tagFilters": {
      "blacklist": null
    },
    "testDevices": []
  }

Step 4. Create Placements

Use this API to create placements. The response will include the placement name, placement ID, Liftoff app ID, placement reference ID, etc. Refer to the response body for more details.

Method: POST / placements

  • To create placements for your specific application, use that application’s vungleAppId with FlatCPM OR in-app bidding.
  • For non-banner placements, you don’t need to pass the adRefreshDuration: field in the API call. However, if you do decide to pass that field, the adRefreshDuration in the body must be greater than or equal to '10'.

cURL example with FlatCPM:

curl -X POST "https://publisher-api.vungle.com/api/v1/placements" \
      -H "accept: application/json" \
      -H "Authorization: Bearer [Login Token]" \
      -H "Content-Type: application/json" \
      -d '{ 
          "application": "5ebe5918c41de60001bbd250", 
          "name": "api_inter_placement_20200515", 
          "type": "interstitial", 
          "allowEndCards": true, 
          "isSkippable": true, 
          "cpmFloor": { 
              "default": 20, 
              "geo": { 
                  "CN": 18, "US": 19, "JP": 20 
            } 
          },
          "flatCPM": { 
              "default": 20, 
              "geo": { 
                  "CN": 18, "US": 19, "JP": 20 
              } 
          }, 
          "isFlatCPMEnabled": true
      }'
  

Response body:

{
    "allowEndCards": true,
    "application": {
      "isCoppa": true,
      "name": "test_app_20200515",
      "platform": "ios",
      "store": {
        "category": "",
        "id": "string",
        "isManual": true,
        "isPaid": false
      },
      "id": "5ebe5918c41de60001bbd250",
      "mutable": false,
      "owner": "5a0b03dc33675100118bafad",
      "status": "test",
      "vungleAppId": "5ebe5918c41de60001bbd250"
    },
    "id": "5ebe59be5e11600001aa6454",
    "isSkippable": true,
    "mutable": true,
    "name": "api_inter_placement_20200515_2",
    "referenceID": "API_INTER_PLACEMENT_20200515_2-2202429",
    "status": "active",
    "type": "interstitial",
    "flatCPM": {
      "default": 22,
      "geo": {
        "CN": 21,
        "JP": 19,
        "US": 20
      }
    },
    "flatCPMCap": {
      "default": 25
    },
    "flatCPMCd": "2020-05-18T08:58:38.646Z",
    "isFlatCPMEnabled": true,
    "videoOrientationOverride": "none"
  }

cURL example with in-app bidding:

curl -X POST "https://publisher-api.vungle.com/api/v1/placements" \
      -H "accept: application/json" \
      -H "Authorization: Bearer [API Token]" \
      -H "Content-Type: application/json" \
      -d '{ 
          "application": "5ebe5918c41de60001bbd250", 
          "name": "api_inter_placement_20200515", 
          "type": "interstitial", 
          "allowEndCards": true, 
          "isSkippable": true, 
          "isHBParticipation": true
      }'
  

Response body:

{
    "allowEndCards": true,
    "application": {
      "isCoppa": true,
      "name": "test_app_20200515",
      "platform": "ios",
      "store": {
        "category": "",
        "id": "string",
        "isManual": true,
        "isPaid": false
      },
      "id": "5ebe5918c41de60001bbd250",
      "mutable": false,
      "owner": "5a0b03dc33675100118bafad",
      "status": "test",
      "vungleAppId": "5ebe5918c41de60001bbd250"
    },
    "id": "5ebe59be5e11600001aa6454",
    "isSkippable": true,
    "mutable": true,
    "name": "api_inter_placement_20200515_2",
    "referenceID": "API_INTER_PLACEMENT_20200515_2-2202429",
    "status": "active",
    "type": "interstitial",
    "isHBParticipation": true, 
    "isSkippable": true, 
    "videoOrientationOverride": "none"
  }

Step 5. Update Your Placement (and Optionally Define a Flat CPM and in-app bidding)

Use this API to update your placements, including setting up a Flat CPM value for them. The response will include the placement ID, the Liftoff app ID, and the placement reference ID. Refer to the response body below for more details. 

Method: PATCH / placements/{id}

  • Flat CPM is only available for select publisher accounts; contact your account manager to activate Flat CPM.
  • In-App Bidding is only available for select publisher accounts; contact your account manager to use in-app bidding.
  • Please either enable in-app bidding or Flat CPM, but not both at the same time.
  • Put your placement name in the PATCH call instead of leaving it as "string".

    For example, in the API call shown below, a user tries to update the placement, but leaves the “name” as “String” instead of passing the placement name. This oversight will generate errors on the dashboard:

    DoNotLeaveAsString.png

cURL example for Flat CPM:

curl -X PATCH "https://publisher-qa-api.vungle.io/api/v1/placements/5ebe596c5e11600001aa6452" \
      -H "accept: application/json" \
      -H "Authorization: Bearer [API Token]" \
      -H "Content-Type: application/json" \
      -d '{ 
          "name": "string", 
          "allowEndCards": true, 
          "isSkippable": true, 
          "isSkippable": true, 
          "videoOrientationOverride": "none", 
          "status": "active", 
          "flatCPM": { 
              "default": 25, 
              "geo": { "CN": 21, "JP": 22, "US": 23 } 
          }, 
          "isFlatCPMEnabled": true
      }'
  

Response body:

{
    "allowEndCards": true,
    "application": {
      "isCoppa": true,
      "name": "test_app_20200515",
      "platform": "ios",
      "store": {
        "category": "",
        "id": "string",
        "isManual": true,
        "isPaid": false
      },
      "id": "5ebe5918c41de60001bbd250",
      "mutable": false,
      "owner": "5a0b03dc33675100118bafad",
      "status": "test",
      "vungleAppId": "5ebe5918c41de60001bbd250"
    },
    "id": "5ebe596c5e11600001aa6452",
    "isSkippable": true,
    "mutable": true,
    "name": "api_inter_placement_20200515",
    "referenceID": "API_INTER_PLACEMENT_20200515-2630554",
    "status": "active",
    "type": "interstitial",
    "flatCPM": {
      "default": 22,
      "geo": {
        "CN": 19,
        "JP": 22,
        "US": 21
      }
    },
    "flatCPMCap": {
      "default": 25
    },
    "flatCPMCd": "2020-05-25T04:33:01.856Z",
    "isFlatCPMEnabled": true,
    "videoOrientationOverride": "none"
  }

cURL example for in-app bidding:

curl -X PATCH "https://publisher-qa-api.vungle.io/api/v1/placements/5ebe596c5e11600001aa6452" \
      -H "accept: application/json" \
      -H "Authorization: Bearer [API Token]" \
      -H "Content-Type: application/json" \
      -d '{ 
          "name": "string", 
          "allowEndCards": true, 
          "isSkippable": true, 
          "isSkippable": true, 
          "videoOrientationOverride": "none", 
          "status": "active", 
          "isHBParticipation": true
      }'
  

Response body:

{
    "allowEndCards": true,
    "application": {
      "isCoppa": true,
      "name": "test_app_20200515",
      "platform": "ios",
      "store": {
        "category": "",
        "id": "string",
        "isManual": true,
        "isPaid": false
      },
      "id": "5ebe5918c41de60001bbd250",
      "mutable": false,
      "owner": "5a0b03dc33675100118bafad",
      "status": "test",
      "vungleAppId": "5ebe5918c41de60001bbd250"
    },
    "id": "5ebe596c5e11600001aa6452",
    "isSkippable": true,
    "mutable": true,
    "name": "api_inter_placement_20200515",
    "referenceID": "API_INTER_PLACEMENT_20200515-2630554",
    "status": "active",
    "type": "interstitial",
    "isHBParticipation": true, 
    "videoOrientationOverride": "none"
  }

Other API Calls

Get an Application

Method: GET /applications/{id}

Request example URL: https://publisher-api.vungle.com/api/v1/applications/5e65ebcd688ef40001e7f436

cURL example:

curl -X GET "https://publisher-api.vungle.com/api/v1/applications/5e65ebcd688ef40001e7f436" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVhMGIwM2RjMzM2NzUxMDAxMThiYWZhZSIsImFjY291bnQiOiI1YTBiMDNkYzMzNjc1MTAwMTE4YmFmYWQiLCJlbWFpbCI6Imhhbi5saUB2dW5nbGUuY29tIiwicGVybWlzc2lvbnMiOnsicGxhY2VtZW50cyI6eyJjcG1fZmxvb3IiOnsid3JpdGUiOmZhbHNlLCJyZWFkIjpmYWxzZX19LCJhY2Nlc3MtZ3Jvdy12dW5nbGUtY29tIjp0cnVlLCJnb2Rtb2RlIjp0cnVlLCJpbXBlcnNvbmF0ZSI6dHJ1ZSwiYWNjZXNzIjp7Im1pc3Npb24tY29udHJvbCI6dHJ1ZX19LCJyb2xlIjoidnVuZ2xlciIsImFwaVRva2VuIjoiN2I4YTcyZTIyMmVjOTQ2NTMwODJiM2U0MjU1MmFjZTEiLCJpYXQiOjE1ODM3Mzc2NDgsImV4cCI6MTU4MzgyNDA0OH0.EFtjHvwusymKq5jwoFemDEBexJUzExNlwtVYApY5if0"

Response body:

{
    "isCoppa": true,
    "name": "test_app_hanli_api_production",
    "platform": "ios",
    "store": {
      "category": "",
      "id": "string",
      "isManual": true,
      "isPaid": false
    },
    "id": "5e65ebcd688ef40001e7f436",
    "owner": "5a0b03dc33675100118bafad",
    "placement_count": 1,
    "status": "test",
    "vungleAppId": "5e65ebcd688ef40001e7f436",
    "connection": "all",
    "forceView": {
      "nonRewarded": false,
      "rewarded": true
    },
    "maxVideoLength": 46,
    "minOsVer": "6.0",
    "orientation": "both",
    "tagFilters": {
      "blacklist": []
    },
    "testDevices": []
  }

Get a Placement

Method: GET/ placements/{id}

Request example URL: https://publisher-api.vungle.com/api/v1/placements/520d751489e451af34000028

cURL example:

curl -X GET "https://publisher-api.vungle.com/api/v1/placements/520d751489e451af34000028" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVhMGIwM2RjMzM2NzUxMDAxMThiYWZhZSIsImFjY291bnQiOiI1YTBiMDNkYzMzNjc1MTAwMTE4YmFmYWQiLCJlbWFpbCI6Imhhbi5saUB2dW5nbGUuY29tIiwicGVybWlzc2lvbnMiOnsicGxhY2VtZW50cyI6eyJjcG1fZmxvb3IiOnsid3JpdGUiOmZhbHNlLCJyZWFkIjpmYWxzZX19LCJhY2Nlc3MtZ3Jvdy12dW5nbGUtY29tIjp0cnVlLCJnb2Rtb2RlIjp0cnVlLCJpbXBlcnNvbmF0ZSI6dHJ1ZSwiYWNjZXNzIjp7Im1pc3Npb24tY29udHJvbCI6dHJ1ZX19LCJyb2xlIjoidnVuZ2xlciIsImFwaVRva2VuIjoiN2I4YTcyZTIyMmVjOTQ2NTMwODJiM2U0MjU1MmFjZTEiLCJpYXQiOjE1ODM3Mzg2NTYsImV4cCI6MTU4MzgyNTA1Nn0.oJH2btCK_54C64s25Ls-Ez4pp0DZG4WudXS3YL32-NE"

Response body:

{
    "application": {
      "platform": "ios",
      "name": "string",
      "store": {
        "id": "string",
        "category": "Battle Royale",
        "isPaid": true,
        "isManual": true,
        "url": "string",
        "thumbnail": "string"
      },
      "isCoppa": true,
      "id": "520d751489e451af34000028",
      "vungleAppId": "string",
      "owner": "string",
      "placement_count": 0,
      "status": "active"
    },
    "name": "string",
    "type": "interstitial",
    "allowEndCards": true,
    "isSkippable": true,
    "referenceID": "string",
    "id": "520d751489e451af34000028",
    "status": "active",
    "videoOrientationOverride": "none",
    "defaultCPMFloor": 0,
    "defaultFlatCPM": 0,
    "isFlatCPMEnabled": true,
    "flatCPM": {
      "geo": {
        "DZ": 2
      }
    },
    "cpmFloor": {
    "default": 1,
    "geo": {
        "CN": 3
      }
    },
    "isRefreshEnabled": true,
    "adRefreshDuration": 0
  }

Best Practices

Read Our Documentation

Read the Liftoff Monetize Publisher API YAML file attached to this article, as well as this entire Publisher Management API article. Pay attention to the bullet points in each section of this article.

Optional Fields

If a field is optional, it is denoted as x-omitempty or x-nullable in the Liftoff Monetize Publisher API YAML file, which is attached to this article. If you don’t pass a value for an optional field, the default value will be 'False', NULL, or '0', depending on the type of the field.

Example of optional (x-omitempty and x-nullable) fields:

  nonRewarded:
      type: boolean
      x-omitempty: false
  minOsVer:
    type: string
            
  maxVideoLength:
    type: integer
    minimum: 15
    maximum: 60
    x-nullable: true

Editing or Updating Fields

To edit or update fields using the API, we strongly recommend using the GET method to get the object, editing that object, and then passing the value you want to change through the API.

Setting a Flat CPM (Contact Your Account Manager)

  • You must contact your account manager to be able to use Flat CPM.
  • Setting a Flat CPM is optional in the API. Optional fields are denoted as x-omitempty or x-nullable in the Liftoff Monetize Publisher API YAML file that is attached to this article to indicate an optional field.
  • When you first create a placement, Flat CPM is disabled by default. To use Flat CPM, you can enable it in Step 5 above.
  • To edit or update the field, refer to Editing or Updating Fields.

Appendix 1. Countries and Country Codes

We support the following countries that you can use with the corresponding country codes:

 

Country Name Country Code
1 Afghanistan AF
2 Åland Islands AX
3 Albania AL
4 Algeria DZ
5 American Samoa AS
6 Andorra AD
7 Angola AO
8 Anguilla AI
9 Antigua and Barbuda AG
10 Argentina AR
11 Armenia AM
12 Aruba AW
13 Australia AU
14 Austria AT
15 Azerbaijan AZ
16 Bahamas BS
17 Bahrain BH
18 Bangladesh BD
19 Barbados BB
20 Belarus BY
21 Belgium BE
22 Belize BZ
23 Benin BJ
24 Bermuda BM
25 Bhutan BT
26 Bolivia BO
27 Bosnia and Herzegovina BA
28 Botswana BW
29 Bouvet Island BV
30 Brazil BR
31 British Indian Ocean Territory IO
32 Brunei Darussalam BN
33 Bulgaria BG
34 Burkina Faso BF
35 Burundi BI
36 Cambodia KH
37 Cameroon CM
38 Canada CA
39 Cape Verde CV
40 Cayman Islands KY
41 Central African Republic CF
42 Chad TD
43 Chile CL
44 China CN
45 Christmas Island CX
46 Cocos (Keeling) Islands CC
47 Colombia CO
48 Comoros KM
49 Congo CG
50 Congo CD
51 Cook Islands CK
52 Costa Rica CR
53 Croatia HR
54 Cuba CU
55 Cyprus CY
56 Czech Republic CZ
57 name: "Côte dIvoire" CI
58 Denmark DK
59 Djibouti DJ
60 Dominica DM
61 Dominican Republic DO
62 Ecuador EC
63 Egypt EG
64 El Salvador SV
65 Equatorial Guinea GQ
66 Eritrea ER
67 Estonia EE
68 Ethiopia ET
69 Falkland Islands (Malvinas) FK
70 Faroe Islands FO
71 Fiji FJ
72 Finland FI
73 France FR
74 French Guiana GF
75 French Polynesia PF
76 Gabon GA
77 Gambia GM
78 Georgia GE
79 Germany DE
80 Ghana GH
81 Gibraltar GI
82 Greece GR
83 Greenland GL
84 Grenada GD
85 Guadeloupe GP
86 Guam GU
87 Guatemala GT
88 Guernsey GG
89 Guinea GN
90 Guinea-Bissau GW
91 Guyana GY
92 Haiti HT
93 Heard Island and McDonald Islands HM
94 Holy See (Vatican City State) VA
95 Honduras HN
96 Hong Kong HK
97 Hungary HU
98 Iceland IS
99 India IN
100 Indonesia ID
101 Iran IR
102 Iraq IQ
103 Ireland IE
104 Isle of Man IM
105 Israel IL
106 Italy IT
107 Jamaica JM
108 Japan JP
109 Jersey JE
110 Jordan JO
111 Kazakhstan KZ
112 Kenya KE
113 Kiribati KI
114 name: "Korea KP
115 Korea KR
116 Kuwait KW
117 Kyrgyzstan KG
118 name: "Lao Peoples Democratic Republic" LA
119 Latvia LV
120 Lebanon LB
121 Lesotho LS
122 Liberia LR
123 Libya LY
124 Liechtenstein LI
125 Lithuania LT
126 Luxembourg LU
127 Macao MO
128 Macedonia MK
129 Madagascar MG
130 Malawi MW
131 Malaysia MY
132 Maldives MV
133 Mali ML
134 Malta MT
135 Marshall Islands MH
136 Martinique MQ
137 Mauritania MR
138 Mauritius MU
139 Mayotte YT
140 Mexico MX
141 Micronesia FM
142 Moldova MD
143 Monaco MC
144 Mongolia MN
145 Montenegro ME
146 Montserrat MS
147 Morocco MA
148 Mozambique MZ
149 Myanmar MM
150 Namibia NA
151 Nauru NR
152 Nepal NP
153 Netherlands NL
154 New Caledonia NC
155 New Zealand NZ
156 Nicaragua NI
157 Niger NE
158 Nigeria NG
159 Niue NU
160 Norfolk Island NF
161 Northern Mariana Islands MP
162 Norway NO
163 Oman OM
164 Pakistan PK
165 Palau PW
166 Palestinian Territory PS
167 Panama PA
168 Papua New Guinea PG
169 Paraguay PY
170 Peru PE
171 Philippines PH
172 Pitcairn PN
173 Poland PL
174 Portugal PT
175 Puerto Rico PR
176 Qatar QA
177 Romania RO
178 Russian Federation RU
179 Rwanda RW
180 Réunion RE
181 Saint Barthélemy BL
182 Saint Helena SH
183 Saint Kitts and Nevis KN
184 Saint Lucia LC
185 Saint Martin (French part) MF
186 Saint Pierre and Miquelon PM
187 Saint Vincent and the Grenadines VC
188 Samoa WS
189 San Marino SM
190 Sao Tome and Principe ST
191 Saudi Arabia SA
192 Senegal SN
193 Serbia RS
194 Seychelles SC
195 Sierra Leone SL
196 Singapore SG
197 Slovakia SK
198 Slovenia SI
199 Solomon Islands SB
200 Somalia SO
201 South Africa ZA
202 South Georgia and the South Sandwich Islands GS
203 South Sudan SS
204 Spain ES
205 Sri Lanka LK
206 Sudan SD
207 Suriname SR
208 Svalbard and Jan Mayen SJ
209 Swaziland SZ
210 Sweden SE
211 Switzerland CH
212 Syrian Arab Republic SY
213 Taiwan TW
214 Tajikistan TJ
215 Tanzania TZ
216 Thailand TH
217 Timor-Leste TL
218 Togo TG
219 Tokelau TK
220 Tonga TO
221 Trinidad and Tobago TT
222 Tunisia TN
223 Turkey TR
224 Turkmenistan TM
225 Turks and Caicos Islands TC
226 Tuvalu TV
227 Uganda UG
228 Ukraine UA
229 United Arab Emirates AE
230 United Kingdom GB
231 United States of America US
232 United States Minor Outlying Islands UM
233 Uruguay UY
234 Uzbekistan UZ
235 Vanuatu VU
236 Venezuela VE
237 Viet Nam VN
238 Virgin Islands VG
239 Virgin Islands VI
240 Wallis and Futuna WF
241 Western Sahara EH
242 Yemen YE
243 Zambia ZM
244 Zimbabwe ZW
245 Antarctica AQ
246 Caribbean Netherlands BQ
247 Curacao CW
248 French Southern and Antarctic Lands TF
249 Sint Maarten (Dutch part) SX
250 Kosovo XK

Appendix 2. Publisher Dashboard Features Available via the Publisher Management API

High-Level Feature Overview

Key Features Availability Notes
Create and update app Y  
Create and update placement Y  
Set Flat CPM Default value Y Need account whitelist; contact your account manager
Set Flat CPM GEO value Y Need account whitelist; contact your account manager
Go live application and placement Y  
Flat CPM value cap reminder Y Contant your account manager to learn more
Update Flat CPM value every 72 hours Y  

Feature Detail

Key Function Feature Availability Notes
Application Create application    
  - app name Y  
  - app store link Y  
  - platform (iOS, Android) Y  
  App settings    
  - same settings as dashboard Y Note about targeting Windows 11:

Due to version numbering on the Windows side, the build number for Windows 11 is actually something like '10.0.22621.1992'. To target Windows 11 only, try providing a value like this for the minOsVer:

minOsVer: "10.0.22000"
  - status (initial status is inactive) Y  
  Update application    
  - add official app store link Y  
  - add storeID to set app to active (live) Y  
  - set app status (active/test/inactive) Y  
  Get app info by Liftoff app ID Y  
  Get app info by storeID N Not available in the Publisher Management API
Placement Create placement    
  - pass Liftoff app ID Y  
  - pass Liftoff app name Y  
  - placement name (that is, RV_10_iOS) Y  
  - placement type (that is, RV or Intl) Y  
  - support MREC Y  
  - support FlexView, and FlexFeed Y We do not recommend using this
  - support banner Y  
  - endcard Y  
  - skippable Y  
  - status (initial status is active) Y  
  - Placement setting as dashboard Y  
  Create default Flat CPM value    
  - default value Y  
  - Flat CPM value for specific GEO Y  
  Update placement setting    
  - update placement setting Y  
  Update placement Flat CPM value    
  - update default and geo flat cpm value Y  
  - Flat CPM need account whitelist Y Contact your account manager to whitelist your account
  Get placement info by Liftoff placement ID Y  
  Get placement info by placement reference ID N Not available in the Publisher Management API
Account Get account by account ID    
  Update account information by account ID    
User Get a list of users    
  Get user by user ID    
  Create a user    
  Update user by user ID    
Permission Permission and control    
  - Single access token Y  
  - Multiple access token (more tokens active at the same time) Y  
  - Token expiration(24 hours) Y  
Security Security    
  - only access your own publisher data Y  
  - only access publisher-side data; no advertiser data Y  

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

Was this article helpful?