This document covers the contentSignals targeting fields introduced in the Public Deal API (create and update).
/api/deals
{
"name": "My Deal",
"dspId": "DSP_ACCOUNT_ID",
"dealType": "PREFERRED_DEAL",
"dealCategory": "STANDARD_DEAL",
"startDate": "01/01/2026 00:00:00",
"endDate": "31/12/2026 23:59:59",
"isActive": false,
"dealFloor": 2.5,
"dealBid": 3.0,
"dealCeil": 10.0,
"dealFloorType": "HARD",
"dealFloorTolerance": "0",
"regionOfOrigin": "US",
"seats": [],
"targeting": [
{
"contentSignals": {
"genreTargeting": {
"genres": ["Drama", "Comedy"],
"isIncl": true
},
"languageTargeting": {
"languages": ["en", "fr"],
"isIncl": true
},
"ratingTargeting": {
"ratings": ["PG", "PG-13"],
"isIncl": true
},
"iabCategoryTargeting": {
"categories": ["IAB2-1", "IAB9-1"],
"isIncl": true
},
"productionQualityTargeting": {
"values": [1, 2],
"isIncl": true
},
"fullEpisodePlayer": true
}
}
]
}
/api/dealsOnly id is required; all other fields are optional. To clear a targeting dimension, set its sub-field to null.
{
"id": 12345,
"name": "My Deal Updated",
"isActive": true,
"targeting": [
{
"contentSignals": {
"genreTargeting": {
"genres": ["Action"],
"isIncl": false
},
"languageTargeting": {
"languages": ["en"],
"isIncl": true
},
"ratingTargeting": null,
"iabCategoryTargeting": {
"categories": ["IAB2-1"],
"isIncl": true
},
"productionQualityTargeting": {
"values": [1],
"isIncl": true
},
"fullEpisodePlayer": false
}
}
]
}
| Field | Parent | Type | Required | Notes |
contentSignals |
targeting[] |
object | No | Nested under each targeting object |
genreTargeting.genres |
contentSignals |
string[] |
No | Canonical or free-text genre names. Fetch valid values from GET /api/metadata/content-genres |
genreTargeting.isIncl |
contentSignals |
boolean | No | true = include, false = exclude. Default: true |
languageTargeting.languages |
contentSignals |
string[] |
No | ISO 639-1 codes (e.g. "en", "fr"). Validated against DB at write time |
languageTargeting.isIncl |
contentSignals |
boolean | No | Default: true |
ratingTargeting.ratings |
contentSignals |
string[] |
No | Canonical or free-text rating names. Fetch valid values from GET /api/metadata/content-ratings |
ratingTargeting.isIncl |
contentSignals |
boolean | No | Default: true |
iabCategoryTargeting.categories |
contentSignals |
string[] |
No | IAB category codes (e.g. "IAB2-1"). No write-time validation — externally versioned |
iabCategoryTargeting.isIncl |
contentSignals |
boolean | No | Default: true |
productionQualityTargeting.values |
contentSignals |
integer[] |
No | 0 = Unknown, 1 = Professionally Produced, 2 = Prosumer, 3 = User Generated |
productionQualityTargeting.isIncl |
contentSignals |
boolean | No | Default: true |
fullEpisodePlayer |
contentSignals |
boolean | No | true to target full-episode players only |
GET /api/metadata/content-genres to discover valid canonical values.meta_language table; must be valid ISO 639-1 codes (e.g. "en", "fr", "hi").GET /api/metadata/content-ratings to discover valid canonical values.0–3.Setting any sub-field to null clears that targeting dimension. All contentSignals sub-fields are optional and independent of each other.
Use these endpoints to discover valid canonical values before constructing a targeting payload.
/api/metadata/content-genresReturns non-deprecated content genres. Supports optional ?search=<term> for case-insensitive name filtering.
{
"data": [
{ "id": 1, "name": "Drama", "aliases": ["drama"] },
{ "id": 2, "name": "Comedy", "aliases": ["comedy", "com"] }
]
}
/api/metadata/content-ratingsReturns all non-deprecated content ratings ordered by name.
{
"data": [
{ "id": 1, "name": "PG", "description": "Parental Guidance Suggested", "aliases": ["pg"] },
{ "id": 2, "name": "PG-13", "description": "Parents Strongly Cautioned", "aliases": ["pg13"] }
]
By installing this SDK update, you agree that your Children Privacy Compliance setting remains accurate or that you will update that setting, whenever there is a change in your app's audience. You may update the app's Children Privacy Compliance settings at https://publisher.inmobi.com/my-inventory/app-and-placements.