> For the complete documentation index, see [llms.txt](https://docs.targetpick.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.targetpick.io/targetpick_eng/for-dsp/native.md).

# Native

## 1. **REQUEST**

{% hint style="info" %}
SSP :arrow\_right: DSP
{% endhint %}

CJ MezzoMedia SSP sends a request to the DSP interface via HTTP POST with the object defined below in JSON format. The request object follows the [OpenRTB 2.5](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf) and[ OpenRTB Dynamic Native Ads API Specification Version 1.2](https://www.iab.com/wp-content/uploads/2018/03/OpenRTB-Native-Ads-Specification-Final-1.2.pdf).

### **Request object**

| Field  | Type         | Required | Description                                                                                                  |
| ------ | ------------ | -------- | ------------------------------------------------------------------------------------------------------------ |
| id     | string       | Y        | Unique request ID                                                                                            |
| cur    | string array | N        | ISO-4217 alpha currencies allowed in the auction (e.g., "KRW")                                               |
| test   | integer      | N        | Indicates whether the auction is in test mode (1) or live mode (0). Bidding is not allowed for test auctions |
| site   | object       | Y        | Refer to the [`Site`](#site) object                                                                          |
| app    | object       | Y        | Refer to the [`App`](#app) object                                                                            |
| device | object       | Y        | Refer to the [`Device`](#device) object                                                                      |
| user   | object       | Y        | Refer to the [`User`](#user) object                                                                          |
| imp    | object array | Y        | Array of [`Imp`](#imp) objects                                                                               |
| at     | integer      | Y        | <ul><li>0: fixed price</li><li>1: first price</li><li>2: second price</li></ul>                              |
| tmax   | integer      | Y        | Maximum timeout in milliseconds (ms)                                                                         |
| bcat   | string array | N        | Blocked advertiser categories based on IAB categories                                                        |
| badv   | string array | N        | Blocked advertiser domains                                                                                   |
| bapp   | string array | N        | Blocked app bundle or package names                                                                          |
| ext    | object       | N        | Refer to the [`Ext`](#ext) object                                                                            |

### **Site**

| Field     | Type         | Required | Description                                   |
| --------- | ------------ | -------- | --------------------------------------------- |
| id        | string       | Y        | Publisher ID                                  |
| name      | string       | N        | Application name                              |
| domain    | string       | N        | Site domain                                   |
| page      | string       | N        | Page URL                                      |
| ref       | string       | N        | Referrer URL (previous page URL)              |
| cat       | string array | N        | Categories                                    |
| publisher | object       | Y        | Refer to the [`Publisher`](#publisher) object |

### **App**

| Field     | Type         | Required | Description                                   |
| --------- | ------------ | -------- | --------------------------------------------- |
| id        | string       | Y        | Publisher ID                                  |
| name      | string       | N        | Application name                              |
| bundle    | string       | Y        | Bundle name or package name                   |
| storeurl  | string       | N        | App store URL                                 |
| cat       | string array | N        | Categories                                    |
| publisher | object       | Y        | Refer to the [`Publisher`](#publisher) object |

### **Publisher**

> [`Site`](#site) / publisher\
> [`App`](#app) / publisher

| Field         | Type   | Required | Description                                                                |
| ------------- | ------ | -------- | -------------------------------------------------------------------------- |
| id            | string | Y        | Publisher ID                                                               |
| name          | string | N        | Publisher name                                                             |
| domain        | string | N        | Site domain                                                                |
| product\_attr | string | N        | <p>Ad product code </p><ul><li>1: banner</li><li>2: interstitial</li></ul> |

### **Device**

| Field | Type    | Required | Description                                                                                   |
| ----- | ------- | -------- | --------------------------------------------------------------------------------------------- |
| adid  | string  | Y        | Device advertising ID                                                                         |
| make  | string  | Y        | Operating system (e.g., iOS, Android)                                                         |
| ua    | string  | Y        | User Agent of the device                                                                      |
| dnt   | integer | N        | <p>Do Not Track flag </p><ul><li>0: tracking allowed</li><li>1: tracking restricted</li></ul> |
| ip    | string  | Y        | IPv4 address                                                                                  |
| model | string  | N        | Device model                                                                                  |
| os    | string  | Y        | Operating system (e.g., iOS, Android)                                                         |
| osv   | string  | Y        | OS version (e.g., 8.1, 9.2)                                                                   |
| js    | integer | N        | Defined as 1 in RTB protocol                                                                  |
| ifa   | string  | Y        | Apple IFA or Google ADID                                                                      |

### **User**

{% hint style="info" %}
CJ MezzoMedia Extension Field
{% endhint %}

| Field | Type   | Required | Description    |
| ----- | ------ | -------- | -------------- |
| id    | string | Y        | Unique user ID |

### **Imp**

| Field             | Type    | Required | Description                                                                                                                                        |
| ----------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                | string  | Y        | Unique impression ID                                                                                                                               |
| bidfloor          | float   | Y        | Minimum bid price required to be considered valid (e.g., 4.12)                                                                                     |
| bidfloorcur       | string  | Y        | Currency (e.g., "KRW")                                                                                                                             |
| secure            | integer | Y        | <ul><li>0 : http</li><li>1 : https</li></ul>                                                                                                       |
| type              | string  | Y        | Native                                                                                                                                             |
| native            | object  | Y        | Refer to th [`Native`](#native) object                                                                                                             |
| instl             | integer | Y        | <p>Indicates whether the ad is interstitial (default: 0)</p><ul><li>1: the ad is interstitial or full screen</li><li>0: not interstitial</li></ul> |
| displaymanager    | string  | Y        | SSP platform name or SDK name                                                                                                                      |
| displaymanagerver | string  | Y        | SSP platform or SDK version                                                                                                                        |

### **Native**

> [`Imp`](#imp) / native

| Field   | Type          | Required | Description                                  |
| ------- | ------------- | -------- | -------------------------------------------- |
| request | string        | Y        | Valid request for native ads                 |
| ver     | string        | Y        | Version of the Dynamic Native Ads API in use |
| battr   | integer array | -        | Blocked creative attributes                  |

### **Native\_request**

> [`Imp`](#imp) / [`Native`](#native)

| Field   | Type         | Required | Description                                                                 |
| ------- | ------------ | -------- | --------------------------------------------------------------------------- |
| ver     | string       | Y        | Native markup version in use                                                |
| assets  | object array | Y        | Array of [`Native_asset`](#native_asset) objects                            |
| privacy | integer      | -        | <ul><li>0: not supported</li><li>1: supports buyer privacy policy</li></ul> |

### **Native\_asset**

> [`Imp`](#imp) / [`Native`](#native) / [`Native_request`](#native_request)

| Field    | Type    | Required | Description                                                      |
| -------- | ------- | -------- | ---------------------------------------------------------------- |
| id       | integer | Y        | Unique Asset ID                                                  |
| required | integer | Y        | Set to 1 if the asset is required                                |
| title    | object  | -        | Refer to the [`Native_asset: Title`](#native_asset-title) object |
| img      | object  | -        | Refer to the [`Native_asset: Image`](#native_asset-image) object |
| video    | object  | -        | Refer to the [`Native_asset: Video`](#native_asset-video) object |
| data     | object  | -        | Refer to the [`Native_asset: Data`](#native_asset-data) object   |

### **Native\_asset: Title**

> [`Imp`](#imp) / [`Native`](#native) / [`Native_request`](#native_request) / [`Native_asset`](#native_asset)

| Field | Type    | Required | Description                      |
| ----- | ------- | -------- | -------------------------------- |
| len   | integer | Y        | Maximum length of the title text |

### **Native\_asset: Image**

> [`Imp`](#imp) / [`Native`](#native) / [`Native_request`](#native_request) / [`Native_asset`](#native_asset)

| Field | Type    | Required | Description                                           |
| ----- | ------- | -------- | ----------------------------------------------------- |
| type  | integer | Y        | Type ID of the image asset supported by the publisher |
| w     | integer | -        | Image width in pixels                                 |
| h     | integer | -        | Image height in pixels                                |
| wmin  | integer | -        | Minimum requested image width                         |
| hmin  | integer | -        | Minimum requested image height                        |

### **Native\_asset: Video**

> [`Imp`](#imp) / [`Native`](#native) / [`Native_request`](#native_request) / [`Native_asset`](#native_asset)

| Field       | Type          | Required | Description                                     |
| ----------- | ------------- | -------- | ----------------------------------------------- |
| mimes       | string array  | Y        | Supported MIME types                            |
| minduration | integer       | Y        | Minimum video ad duration (seconds)             |
| maxduration | integer       | Y        | Maximum video ad duration (seconds)             |
| protocols   | integer array | Y        | Supported video protocol types by the publisher |

### **Native\_asset: Data**

> [`Imp`](#imp) / [`Native`](#native) / [`Native_request`](#native_request) / [`Native_asset`](#native_asset)

| Field | Type    | Required | Description                                   |
| ----- | ------- | -------- | --------------------------------------------- |
| type  | integer | Y        | Data asset type ID supported by the publisher |
| len   | integer | -        | Maximum length of the data response           |

### **Ext**

{% hint style="info" %}
CJ MezzoMedia Extension Field
{% endhint %}

| Field        | Type    | Required | Description                                                                                                                                                                 |
| ------------ | ------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| price\_type  | integer | N        | <ul><li>0: CPM</li><li>1: CPC</li></ul>                                                                                                                                     |
| click\_macro | integer | N        | <p>1: DSP must provide macro (${MEZZO\_CLICK\_URL}) within ADM for click tracking. </p><p></p><p>When a click occurs, the macro-substituted click URL must be triggered</p> |

### **Example**&#x20;

{% tabs %}
{% tab title="APP" %}
{% code lineNumbers="true" %}

```json
{
   "id": "cdc-7c6d-4029-dcd|1337",
   "test": 0,
   "cur": "KRW",
   "imp": [
      {
         "bidfloor":1.0,
         "bidfloorcur":"USD",
         "displaymanager":"SOMA",
         "displaymanagerver":"sdkandroid_9-1-6",
         "ext":{
 
         },
         "id":"1",
         "instl":0,
         "native":{
            "battr":[
               1,
               3,
               5,
               8,
               9
            ],
            "request":"{\"ver\":\"1.2\",\"plcmttype\":1,\"plcmtcnt\":1,\"seq\":0,\"aurlsupport\":0,\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":90}},{\"id\":2,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":3,\"required\":1,\"img\":{\"type\":1,\"wmin\":50,\"hmin\":50}},{\"id\":5,\"required\":1,\"data\":{\"type\":2,\"len\":140}},{\"id\":6,\"required\":1,\"data\":{\"type\":12,\"len\":15}}]}",
            "ver":"1.2"
         },
         "secure":0,
         "tagid":"130700475"
      }
   ],
   "app": {
      "id": "test-pub-app-id",
      "name": "test-pub-app-name",
      "bundle": "com.mezzo.co.kr ",
      "storeurl": "https://itunes.apple.com/us/app/id1234567?mt=8",
      "cat": "IAB1",
      "publisher": {
         "id": "test-pub-app-id",
         "domain": "test-pub-domain",
         "product_attr": 1
      }
   },
   "device": {
      "adid": "test-ifa-gaid",
      "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H141",
      "dnt": 0,
      "ip": "192.168.1.1",
      "make":"iOS",
      "model": "iPhone 7,2",
      "os": "iOS",
      "osv": "8.0",
      "js": 1,
      "ifa": "test-ifa-gaid"
   },
   "user": {
      "id": "923123"
   },
   "ext": {
      "price_type": 1,
      "click_macro": 1
   }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

##

## **2. RESPONSE**

{% hint style="info" %}
DSP :arrow\_right: SSP
{% endhint %}

The DSP responds by including the object defined below in the HTTP body.\
The object definition follows the [OpenRTB 2.5](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf) and [OpenRTB Dynamic Native Ads API Specification Version 1.2](https://www.iab.com/wp-content/uploads/2018/03/OpenRTB-Native-Ads-Specification-Final-1.2.pdf).

### **Bid Response**

{% hint style="info" %}
**Response object in JSON format.**
{% endhint %}

| Field   | Type         | Required | Description                                                                      |
| ------- | ------------ | -------- | -------------------------------------------------------------------------------- |
| id      | string       | Y        | ID of the Bid Request                                                            |
| bidid   | string       | Y        | ID of the Bid object                                                             |
| cur     | string       | Y        | Currency used for bidding (e.g., KRW)                                            |
| seatbid | object array | Y        | Array of [`Seatbid`](#seatbid) objects. At least one is required for a valid bid |

### **Seatbid**

| Field | Type         | Required | Description                                                              |
| ----- | ------------ | -------- | ------------------------------------------------------------------------ |
| seat  | string       | Y        | ID managing the bidding entity                                           |
| bid   | object array | Y        | Array of [`Bid`](#bid) objects. At least one is required for a valid bid |

### **Bid**

| Field   | Type         | Required | Description                                                                                  |
| ------- | ------------ | -------- | -------------------------------------------------------------------------------------------- |
| id      | string       | Y        | ID managing the bid                                                                          |
| impid   | string       | Y        | Impression ID related to the bid request. Must match the impression object ID in the request |
| price   | float        | Y        | Bid price                                                                                    |
| cat     | string array | Y        | Categories                                                                                   |
| nurl    | string       | N        | Win notice URL. The clearing price is substituted into the {AUCTION\_PRICE} macro            |
| burl    | string       | N        | Billing notice URL. The clearing price is substituted into the {AUCTION\_PRICE} macro        |
| lurl    | string       | N        | Loss notice URL. The loss reason code is substituted into the {AUCTION\_LOSS} macro          |
| adm     | string       | Y        | Refer to the [`Native_response`](#native_response) object                                    |
| iurl    | string       | Y        | Impression image URL                                                                         |
| adomain | string array | Y        | Advertiser domains for blacklist checking                                                    |
| cid     | string       | Y        | Advertiser campaign name / ID                                                                |
| crid    | string       | Y        | Creative name / ID                                                                           |
| w       | integer      | Y        | Ad width                                                                                     |
| h       | integer      | Y        | Ad height                                                                                    |
| ext     | string       | Y        | Extension field                                                                              |

### **Native\_response**

> [`Bid`](#bid) / adm

| Field         | Type         | Required | Description                                                                                                           |
| ------------- | ------------ | -------- | --------------------------------------------------------------------------------------------------------------------- |
| ver           | string       | Y        | Native markup version                                                                                                 |
| assets        | object array | Y        | <p>Native ad assets<br>Array of <a href="#native_response_asset"><code>Native\_response\_asset</code></a> objects</p> |
| link          | object       | Y        | Refer to the [`Native_response_asset: Link` ](#native_response_asset-link)object                                      |
| eventtrackers | object array | Y        | Array of [`Native_response_asset: Eventtracker`](#native_response_asset-eventtracker) objects                         |
| privacy       | string       | Y        | <p>Response value for privacy requests. <br>If not provided, MezzoMedia logo will be displayed</p>                    |

### **Native\_response\_asset**

> [`Bid`](#bid) / adm / [`Native_response`](#native_response)

| Field    | Type    | Required | Description                                                                        |
| -------- | ------- | -------- | ---------------------------------------------------------------------------------- |
| id       | integer | Y        | Unique asset ID                                                                    |
| required | integer | -        | Set to 1 if the asset is required                                                  |
| title    | object  | -        | Refer to the [`Native_response_asset: Title`](#native_response_asset-title) object |
| img      | object  | -        | Refer to the [`Native_response_asset: Image`](#native_response_asset-image) object |
| video    | object  | -        | Refer to the [`Native_response_asset: Video`](#native_response_asset-video) object |
| data     | object  | -        | Refer to the [`Native_response_asset: Data`](#native_response_asset-data) object   |

### **Native\_response\_asset: Title**

> [`Bid`](#bid) / adm / [`Native_response`](#native_response) / [`Native_response_asset`](#native_response_asset)&#x20;

| Field | Type   | Required | Description                          |
| ----- | ------ | -------- | ------------------------------------ |
| text  | string | Y        | Text associated with the title asset |

### **Native\_response\_asset: Image**

> [`Bid`](#bid) / adm / [`Native_response`](#native_response) / [`Native_response_asset`](#native_response_asset)&#x20;

| Field | Type    | Required | Description            |
| ----- | ------- | -------- | ---------------------- |
| url   | string  | Y        | Image asset URL        |
| w     | integer | Y        | Image width in pixels  |
| h     | integer | Y        | Image height in pixels |

### **Native\_response\_asset: Video**

> [`Bid`](#bid) / adm / [`Native_response`](#native_response) / [`Native_response_asset`](#native_response_asset)&#x20;

| Field   | Type   | Required | Description |
| ------- | ------ | -------- | ----------- |
| vasttag | string | Y        | vast xml    |

### Native\_response\_asset: Data

> [`Bid`](#bid) / adm / [`Native_response`](#native_response) / [`Native_response_asset`](#native_response_asset)&#x20;

| Field | Type   | Required | Description                                         |
| ----- | ------ | -------- | --------------------------------------------------- |
| value | string | Y        | Formatted string to be displayed for the data asset |

### **Native\_response\_asset: Link**

> [`Bid`](#bid) / adm / [`Native_response`](#native_response) / [`Native_response_asset`](#native_response_asset)&#x20;

| Field | Type   | Required | Description           |
| ----- | ------ | -------- | --------------------- |
| url   | string | Y        | Clickable landing URL |

### **Native\_response\_asset: Eventtracker**

> [`Bid`](#bid) / adm / [`Native_response`](#native_response) / [`Native_response_asset`](#native_response_asset)&#x20;

| Field   | Type    | Required | Description               |
| ------- | ------- | -------- | ------------------------- |
| event   | integer | Y        | Type of event to track    |
| methods | integer | Y        | Requested tracking method |

### **Example**

{% tabs %}
{% tab title="success" %}
{% code lineNumbers="true" %}

```json
{
  "id": "ece5c105-dd24-468f-8392-d624b8d49953",
  "seatbid": [
    {
      "bid": [
            {
               "id":"5d7801c2be564c8100f00011-1062015",
               "price":2.0,
               "impid":"1",
               "nurl":"http://node-p2e-gie4ah.sitescout.com/smaato/win/aid:5d7801c2be564c8100f00011;c:${AUCTION_PRICE};s:;cid:1062015;ts:1568145858061;d:MzMzMTUwMi1uYXRpdmU",
               "adm":"{\"native\":{\"link\":{\"url\":\"http://clickserv.sitescout.com/clk/8cc00d7733a331ba/88e42568017fb609/0-0/0///~_aid_~5d7801c2be564c8100f00011//cidentLy8vLy8\",\"clicktrackers\":[\"https://adrta.com/c?clid=ss&paid=ss&cb=1568145858061&avid=112053&caid=1062015&publisherId=1100043642&kv5=&plid=3331502&segment=&kv4=100.10.38.5&kv14=&kv1=native&siteId=120207704&kv7=17&kv15=UNKNOWN&kv16=&kv17=&kv18=com.particlenews.newsbreak&kv24=MOBILE_APP&kv20=&kv21=eb6fe99843ff5310bd0cd40d267826fff05d8aa3&kv22=9863a35c-c598-4c80-b091-d7adf379bb26&kv11=5d7801c2be564c8100f00011&kv3=&kv2=\"]},\"ver\":\"1.2\",\"assets\":[{\"id\":5,\"required\":1,\"data\":{\"type\":2,\"value\":\"Lose 3 to 5 pounds per week. Keep it off with free support for life!\"}},{\"id\":2,\"required\":1,\"img\":{\"type\":3,\"url\":\"http://cdn01.basis.net/112100/112053/uhSvl5gEElOXwX0T.jpg\",\"w\":1200,\"h\":627}},{\"id\":1,\"required\":1,\"title\":{\"text\":\"Lose Weight For Life!\"}},{\"id\":6,\"required\":1,\"data\":{\"type\":12,\"value\":\"Learn more\"}},{\"id\":3,\"required\":1,\"img\":{\"type\":1,\"url\":\"http://cdn01.basis.net/112100/112053/5MkC88n4Mc8MdPa4.jpg\",\"w\":240,\"h\":240}}],\"eventtrackers\":[\"https://node-p2e-gie4ah.sitescout.com/smaato/px/aid:5d7801c2be564c8100f00011;c:${AUCTION_PRICE};s:;cid:1062015;ts:1568145858061\",\"https://pixel-sync.sitescout.com/dmp/pixelSync?nid=17&wb=1&hdid=0&id=9863a35c-c598-4c80-b091-d7adf379bb26&idType=4\",\"https://ad.doubleclick.net/ddm/trackimp/N428001.3027484BASISDSP/B22322261.248240382;dc_trk_aid=447774364;dc_trk_cid=119057854;u=210363%7C5d7801c2be564c8100f00011%7C%7Ccom.particlenews.newsbreak%7CAWAKEN002CP+%5BCPA%5D+GT+%28Zips%2B15+mi%29_Display%7CMOBILE_APP%7C1062015;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=?\"],\"jstracker\":\"\"}}",
               "adomain":[
                  "awaken180weightloss.com"
               ],
               "iurl":"http://preview.sitescout.ad/preview?adOnly=1&amp;ad=8cc00d7733a331ba",
               "crid":"3331502",
               "cid":"1062015",
               "attr":[
 
               ],
               "cat":[
                  "IAB7-44",
                  "IAB7"
               ]
            }
         ],
         "seat":"18878"
      }
   ],
  "bidid": "dsp",
  "cur": "KRW"
}
```

{% endcode %}
{% endtab %}

{% tab title="noad" %}
{% code lineNumbers="true" %}

```json
{
  "id": "",
  "seatbid": [],
  "bidid": "mezzo",
  "cur": "KRW"
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## &#x20;<a href="#skadnetwork-support-ios-14" id="skadnetwork-support-ios-14"></a>

## 3. SKAdNetwork Support (iOS 14+) <a href="#skadnetwork-support-ios-14" id="skadnetwork-support-ios-14"></a>

{% hint style="info" %}
This section describes support for campaigns where SKAdNetwork is enabled on iOS 14 or later.
{% endhint %}

<table data-header-hidden><thead><tr><th width="80"></th><th></th></tr></thead><tbody><tr><td>1</td><td>The DSP must be registered as an Ad Network in Apple’s SKAdNetwork API. (https://developer.apple.com/documentation/storekit/skadnetwork/registering_an_ad_network)</td></tr><tr><td>2</td><td>A public key must be issued by Apple and a postback URL must be configured.</td></tr><tr><td>3</td><td>The SKAdNetwork ID issued by Apple must be shared with CJ MezzoMedia, which will request registration in the publisher’s info.plist.</td></tr><tr><td>4</td><td>When returning a response for SKAdNetwork-enabled campaigns, the DSP must include the SKAdNetwork ID and all related fields.</td></tr><tr><td>5</td><td>The advertiser app must register via registerAppForAdNetworkAttribution().</td></tr><tr><td>6</td><td>The DSP can receive install data via SKAdNetwork.</td></tr></tbody></table>

### Additional Fields in Ad Request (SKAdNetwork) <a href="#additional-fields-in-a-d-request-skadnetwork" id="additional-fields-in-a-d-request-skadnetwork"></a>

> BidRequest / imp / banner / ext / skadn

Prerequisites:

<table data-header-hidden><thead><tr><th width="80">1</th><th>DSP에서 제공하는 SKAdNetwork ID가 퍼블리셔의 info.plist에 등록되어 있어야 한다.</th></tr></thead><tbody><tr><td>1</td><td>The DSP’s SKAdNetwork ID must be registered in the publisher’s info.plist.</td></tr><tr><td>2</td><td>The user device must run iOS 14 or higher.</td></tr><tr><td>3</td><td>A version of the SDK that supports SKAdNetwork must be installed.</td></tr><tr><td>4</td><td>The DSP must comply with CJ MezzoMedia Bid Request specifications.</td></tr></tbody></table>

| Field      | Type   | Required | Description                                                                   | Example                                  |
| ---------- | ------ | -------- | ----------------------------------------------------------------------------- | ---------------------------------------- |
| version    | string | Y        | SKAdNetwork version (2.0 or higher)                                           | “version”:”2.0”                          |
| sourceapp  | string | Y        | Publisher app ID registered in Apple App Store. Matches BidRequest.app.bundle | “sourceapp”:”000000000”                  |
| skadnetids | string | Y        | SKAdNetwork IDs registered in publisher’s info.plist                          | “skadnetids”:\[“feyaarzu9v.skadnetwork”] |

### Additional Fields in Ad Response (SKAdNetwork) <a href="#additional-fields-in-a-d-response-skadnetwork" id="additional-fields-in-a-d-response-skadnetwork"></a>

> BidResponse / imp / banner / ext / skadn

| Field      | Type   | Required | Description                                                             | Example                                         |
| ---------- | ------ | -------- | ----------------------------------------------------------------------- | ----------------------------------------------- |
| version    | string | Y        | SKAdNetwork version (2.0 or higher)                                     | “version”:”2.0”                                 |
| network    | string | Y        | Ad network identifier. Must match at least one skadnetid in the request | “network”:\[“feyaarzu9v.skadnetwork”]           |
| campaign   | string | Y        | Campaign ID (integer between 1 and 100 per Apple spec)                  | “campaign”:”45”                                 |
| itunesitem | string | Y        | Advertiser app ID in App Store. Matches BidResponse.bid.bundle          | “itunesitem”:”123456789”                        |
| nonce      | string | Y        | Unique ID for each ad response                                          | “nonce”:”123b1a78-b5ef-98ad-1234-ab-c4effa00b8” |
| sourceapp  | string | Y        | Publisher app ID. Matches BidRequest.imp.ext.skad.sourceapp             | “sourceapp”:”000000000”                         |
| timestamp  | string | Y        | Unix time as a string                                                   | “timestamp”:”1234567890”                        |
| signature  | string | Y        | SKAdNetwork signature provided by Apple                                 | “signature”:”ABCDEFGHijkl-lmb…”                 |

### **Example**

{% tabs %}
{% tab title="Request" %}
{% code lineNumbers="true" %}

```json
{
	"imp":[{
        "ext": {
          "skadn": {
            "version": "2.0",
			"sourceapp": "000000000",
			"skadnetids": ["feyaarzu9v.skadnetwork", "8sRFag4vVC.skadnetwork"]
			}
			}
		}]
}
```

{% endcode %}
{% endtab %}

{% tab title="Response" %}
{% code lineNumbers="true" %}

```json
{
	"seatbid": [{
		"bid": [{
			"ext": {
				"skadn": {
					"version": "2.0",
					"network": "feyaarzu9v.skadnetwork ",
					"campaign": "45",
					"itunesitem": "123456789",
					"nonce": "123b1a78-b5ef-98ad-1234-ab-c4effa00b8",
					"sourceapp": "000000000",
					"timestamp": "1234567890",
					"signature": "ABCDEFGHijkl-lmbKBSE8QnhLTIHZZZWCFgZpRqRxHss65KoFAiAJgJKjdrWdkLUOCCjuEx2RmFS7daRzSVZRVZ8RyMyUXg"
				}
			}
		}]
	}]
}
```

{% endcode %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.targetpick.io/targetpick_eng/for-dsp/native.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
