Use the following API to create a new deal on the partner platform.
API Endpoint
POST https://apis.demand.ssp.inmobi.com/v1/deals
Parameters
Headers
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| Authorization |
String |
Y |
Bearer token used to authenticate the API request. (Format: Bearer <token>)
|
| X-USER-ID |
String |
Y |
Identifier for the user making the request (e.g., email or username) |
| X-INMOBI-ORG-ID |
Array of objects |
Y |
Unique ID representing the requesting organization |
| Content-Type |
String (Date) |
Y |
Specifies the media type of the request body. Use: application/json |
Object: Deal
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
name |
String |
Y |
Name of the deal.
|
dealCategory |
String |
Y |
Supported values: AUCTION_PACKAGE, STANDARD_DEAL
- Use
STANDARD_DEAL when a buyer seat ID is present.
- Use
AUCTION_PACKAGE when there is no seat ID, or if the seat ID belongs to a DSP.
|
dspId |
String |
Y |
DSP identifier. For more information, see Get DSP Partners. |
seats |
Array of objects |
N |
List of buyer seats |
startDate |
String (Date) |
Y |
Start date in DD/MM/YYYY HH:mm:ss format |
endDate |
String (Date) |
Y |
End date in DD/MM/YYYY HH:mm:ss format |
dealType |
String |
Y |
Type of deal pricing (Supported value: PREFERRED_DEAL) |
dealFloorType |
String |
Y |
Supported value: STATIC, and VARIABLE.
- In case of
STATIC, don't set the deal tolerance level.
- In case of
VARIABLE, use the deal tolerance level.
|
dealFloor |
Float |
Y |
Floor price in whole numbers (up to 2 decimals accepted). |
dealFloorTolerance |
String |
N |
Allowed pricing flexibility (Supported value in the range 0 - 200) |
margin |
Integer |
N |
Partner margin percentage (if applicable) |
isActive |
Boolean |
N |
Whether the deal is active (ACTIVE) or paused (PAUSE). |
targeting |
Array of objects |
N |
Targeting segments (see Targeting object) |
targetKpis |
Array of objects |
N |
Performance KPIs (see KPI object) |
tracking |
Object |
N |
Tracking config (see Tracking object) |
Object: seats[]
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
id |
String |
N |
Unique seat ID |
Object: targeting[]
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| geography |
Object |
N |
Geographic targeting rules |
| inventory |
Object |
N |
Inventory filtering |
| audiences |
Object |
N |
Audience targeting |
| devices |
Object |
N |
Device targeting |
Object: geography
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| countryTargeting |
Object |
N |
Country-level filtering. For more information, see Get Countries List. |
| stateTargeting |
Object |
N |
State-level filtering. For more information, see Get States List. |
| cityTargeting |
Object |
N |
City-level filtering. For more information, see Get Cities List. |
countryTargeting
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| countries |
Integer[] |
N |
List of country IDs |
| isIncl |
Boolean |
N |
Include/exclude toggle (true/false) |
stateTargeting
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| states[] |
Object |
N |
Nested list of state IDs |
| isIncl |
Boolean |
N |
Include/exclude toggle (true/false) |
Inside states[]
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| stateIds |
Integer[] |
Y |
State identifiers |
cityTargeting
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| cities[] |
Object |
N |
Grouped by country |
| isIncl |
Boolean |
N |
Include/exclude toggle (true/false) |
Inside cities[]
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| countryId |
Integer |
Y |
Country associated |
| cityIds |
Integer[] |
Y |
City identifiers |
Object: inventory
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| inventoryTypeTargeting |
Object |
N |
Filters by inventory type |
| adTypeTargeting |
Object |
N |
Filters by ad creative type. For more information, see Get Ad Type. |
| adSlotTargeting |
Object |
N |
Filters by ad size/slot ID. For more information, see Get Ad Slot. |
| bundleTargeting |
Object |
N |
Filters by app bundles/domains |
| publisherTargeting |
Object |
N |
Filters by publisher whitelist |
inventoryTypeTargeting
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| types |
String[] |
N |
E.g., BROWSER, APP |
| isIncl |
Boolean |
N |
Include/exclude toggle (true/false) |
Object: audiences
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| csidFilterExpression |
String |
N |
Audience logic in CSID expression format |
Object: devices
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| osVersions |
Integer[] |
N |
OS version IDs. For more information, see Get OS Type. |
| deviceIdPresent |
Integer |
N |
1 = Required, 0 = Optional |
Object: targetKpis[]
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| kpi |
String |
Y |
KPI type (Supported values: vcr, ctr, viewability) |
| optimisationRule |
String |
Y |
Optimization logic (Supported values: auto) |
| target |
Integer |
Y |
Target value (Supported value in the range: 0-100) |
| isPrimary |
Boolean |
N |
Indicates if KPI is primary (true/false) |
Object: tracking
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| viewabilityPartners |
Object |
N |
IAS or other partner setup |
viewabilityPartners.ias
| FIeld Name |
Type |
Is mandatory (Y/N)? |
Description |
| enableIas |
Boolean |
Y |
Enable IAS tracking (true/false) |
| useInmobiIasTag |
Boolean |
Y |
Use IAS tags served via InMobi (true/false) |
| usePartnerAdvertiserIdIas |
Boolean |
Y |
Use the partner advertiser’s IAS tag (true/false) |
| iasExternalTags[] |
Array |
N |
Custom IAS tag entries |
Sample Request
curl -X POST "https://apis.demand.ssp.inmobi.com/v1/deals" \
-H "accept: application/json" \
-H "Authorization: Bearer <your bearer id>" \
-H "X-USER-ID: testapp" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \
-d '{
"deal": {
"name": "testdeal1",
"dspId": "cbab4104e7f14e2fbd2e21e96a8bf787",
"seats": [
{
"id": "seat1"
}
],
"startDate": "17/07/2025 00:00:00",
"endDate": "18/07/2025 23:59:59",
"dealType": "PREFERRED_DEAL",
"dealFloor": 10,
"dealFloorType": "STATIC",
"margin": 20,
"targeting": [
{
"geography": {
"stateTargeting": {
"states": [
{
"stateIds": [
31207
]
}
],
"isIncl": true
},
"cityTargeting": {
"cities": [
{
"countryId": 53,
"cityIds": [
900611
]
},
{
"countryId": 111,
"cityIds": [
49229,
49222
]
}
],
"isIncl": true
},
"countryTargeting": {
"countries": [
125
],
"isIncl": true
}
},
"inventory": {
"bundleTargeting": {
"bundleIds": [
"app/domain"
],
"isIncl": true
},
"publisherTargeting": {
"publishers": [
"publisherwhitelist"
],
"isIncl": true
},
"inventoryTypeTargeting": {
"types": [
"BROWSER"
],
"isIncl": true
},
"adTypeTargeting": {
"types": [
1
],
"isIncl": true
},
"adSlotTargeting": {
"slots": [
14
],
"isIncl": true
}
},
"audiences": {
"csidFilterExpression": "[[5ace5190-db24-4392-8c88-4042491bca2e,7740e4bb-1963-4ed5-b4e2-c4a69a716e2f]]"
},
"devices": {
"osVersions": [
3
],
"deviceIdPresent": 1
}
}
],
"dealFloorTolerance": "",
"isActive": false,
"targetKpis": [
{
"kpi": "vcr",
"optimisationRule": "auto",
"target": 70,
"isPrimary": false
}
],
"tracking": {
"viewabilityPartners": {
"ias": {
"enableIas": true,
"useInmobiIasTag": true,
"usePartnerAdvertiserIdIas": false,
"iasExternalTags": []
}
}
}
}
}'
Sample Response
{
"data": {
"id": "4263509453",
"message": "Created successfully"
}
}
This response confirms that the deal was created successfully and provides the unique deal ID generated by the system.
Error Codes
For more information, see Error Codes.