Native Ads API

Document created by catherine.racette on Aug 23, 2017Last modified by catherine.racette on Aug 24, 2017
Version 5Show Document
  • View in full screen mode

Description

The Native Ads API manages operations related to Native Ad configuration.

Workflow for Creating Native AdTag

There are three main steps in Native AdTag configuration (shown in workflow below). 

  1. Configure the the required assets for the native adslot and create native configuration in the system.
  2. Configure other AdTag configuration details such as name and passback.
  3. Create the AdTag and map the native configuration with this AdTag.

In this workflow, information regarding the templates, asset types, ad units, and mime types are obtained through the Native API.  Native configuration is created using the Native API. AdTag creation will take native configuration information as input and create Native AdTag

 

 

NativeAds API Features

  • API to fetch MimeTypes for Native ads
  • Operations related to native templates
  • API to fetch native ad unit types for Native ads
  • API to fetch Native asset types and sub types
  • Operations related to native configurations for AdTag
  • API to Get HTML using crawling for sites
  • API to fetch Native Image Sizes

Methods

Method PathHTTP Method TypeDescriptionLink to Definition
/mimetypeGET

The API method gets different mime types for Image and Video Asset

e.g image/png, image/jpeg

Get Mime Type
/nativetemplate GET

The API method gets standard layout information available for configuring AdTag by Id. Response includes different assets which are associated with the layout. E,g Content Wall Layout (id =2 

Get Template By Id
/nativetemplate GET

The API method gets different standard layouts available for configuring AdTag. Response includes different assets which are associated with the layouts.


Get Template
/nativeadunitGETThe API method getss different standard IAB native adunit information for configuring AdTag. e.g Paid Search Units, Recommendation Widgets etc Get NativeAdUnit
/nativeassetsubtypeGET
The API method is gets different standard asset subtypes available for configuring AdTag. For example for Image Asset type, different subtypes are Main, Icon and Logo. 
Get Native SubType
/nativeassettypeGET
The API method gets different standard asset Types available for configuring AdTag. For example title, Image, Data and Video. 
Get Native Type
/nativeassettype/propertiesGET
The API method gets different properties which are required to be configured for a particular asset type. For e.g for data asset type length needs to be configured. 
Get List of Properties
/nativeconfigGET
The API method gets the complete native configuration which is saved in system. It will give information regarding all assets which were configured and corresponding properties as well. 
Get Native Adtag Configs
/native/config/{id}GET
The API method gets the complete native configuration which is saved in system for a given Id. It will give information regarding all assets which were configured and corresponding properties as well. 
Get Details of Native Configs
/nativeconfigPOST
The API method creates native configuration in system. It will need all info related to assets and corresponding properties. 
Create Native Config
/nativeconfigPUT
The API method updates native configuration in system. 
Edit Native Configs
/nativeconfigPUT
The API method updates the  HTML template for a given native configuration in system. HTML template is the html code for a given adslot of publisher page where native ad needs to be rendered. This template holds macros for different assets which needs to be populated during adserving. 
Update Native HTML Template
/nativeimagesizeGETThe API method gets different sizes applicable for image assets.Native Image Size

 

Get Mime Type

This API is used to retrieve the valid mime types for video and image assets.

Request

URI${URI_PREFIX}/nativeads/mimetype
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Sample Request/Response

1. Get Image Mime Types

https://localhost:8080/nativeads/mimetype?filters=type+like+image

{

"metaData": {
"startIndex": 1,
"totalRecords": 4,
"endIndex": 4
},
"items": [
{
"id": 1,
"type": "image",
"name": "image/png"
},
{
"id": 2,
"type": "image",
"name": "image/jpeg"
},
{
"id": 3,
"type": "image",
"name": "image/gif"
},
{
"id": 4,
"type": "image",
"name": "image/tiff"
}
]
}

 

2. Get Video Mime Types

http://localhost:8080/nativeads/mimetype?filters=type+like+image

 

{
"metaData": {
"startIndex": 1,
"totalRecords": 7,
"endIndex": 7
},
"items": [
{
"id": 5,
"type": "video",
"name": "video/mp4"
},
{
"id": 6,
"type": "video",
"name": "application/x-shockwave-flash"
},
{
"id": 7,
"type": "video",
"name": "video/x-ms-wmv"
},
{
"id": 8,
"type": "video",
"name": "video/h264"
},
{
"id": 9,
"type": "video",
"name": "video/webm"
},
{
"id": 10,
"type": "video",
"name": "application/javascript"
},
{
"id": 11,
"type": "video",
"name": "video/ogg"
}
]
}

Response Body

Response Body ParameterTypeDescription
idIntegerId of the mime type in PubMatic system
typeStringTpe of mime type. e.g., image, video
nameStringName of the mime type

Get Template by ID

This API fetches the native template information for a given native template Id. Native Template Id needs to be passed as the path parameter.

Request

URI${URI_PREFIX}/nativeads/nativetemplate/{id}
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Path Parameters

Parameter NameTypeRequiredDefaultPossible ValuesDescriptionSample Data
idIntegerYes  Template Id whose information needs to be read. 2

 

Response Body

Response Body ParameterTypeDescription
IdIntegerId of the layout/template
nameStringName of the layout/template
descriptionStringShort description about the layout/template
nativeAttributesArrayNative attributes array, which can be configured for this layout/template
nativeAttributes.nameStringName of asset attribute
nativeAttributes.descriptionStringDescription of the asset attribute
nativeAttributes.typeIdIntegerAsset attribute Type Id in the system
nativeAttributes.subTypeIdIntegerAsset attribute subtype Id in the system. It will not be present if the asset attribute is a parent type and doesn't have subtypes.

Sample Request/Response JSON 

Sample URL: http://localhost:8080/nativeads/nativetemplate/4

Response

{
  "id": 4,
  "name": "News Feed",
  "description": "News Feed - Native Template",
  "nativeAttributes": [
    {
      "name": "title",
      "description": "Title object for title assets",
      "typeId": 1
    },
    {
      "name": "icon",
      "description": "Image object for image assets",
      "typeId": 2,
      "subTypeId": 1
    },
    {
      "name": "ctatext",
      "description": "Data object for data assets",
      "typeId": 3,
      "subTypeId": 12
    },
    {
      "name": "rating",
      "description": "Data object for data assets",
      "typeId": 3,
      "subTypeId": 3
    }
  ]
}

 

List Templates

Overview

This API lists all the available standard layout/templates for native adserving.

Request

URI$URI_PREFIX/nativeads/templates
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

 

Response Body

Response Body ParameterTypeDescription
IdIntegerId of the layout/template
nameStringName of the layout/template
descriptionStringShort description about the layout/template
nativeAttributesArrayNative attributes array, which can be configured for this layout/template
nativeAttributes.nameStringName of asset attribute
nativeAttributes.descriptionStringDescription of the asset attribute
nativeAttributes.typeIdIntegerAsset attribute Type Id in the system
nativeAttributes.subTypeIdIntegerAsset attribute subtype Id in the system. It will not be present if the asset attribute is a parent type and doesn't have subtypes.

Sample Request/Response JSON 

Sample URL: http://localhost:8080/nativeads/nativetemplate/

Response

{
  "metaData": {
    "startIndex": 1,
    "totalRecords": 7,
    "endIndex": 7
  },
  "items": [
    {
      "id": 1,
      "name": "Custom",
      "description": "Custom Template. User can manually select properties",
      "nativeAttributes": [
        {
          "name": "price",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 6
        },
        {
          "name": "sponsored",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 1
        },
        {
          "name": "video",
          "description": "Video object for video asset",
          "typeId": 4
        },
        {
          "name": "phone",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 8
        },
        {
          "name": "rating",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 3
        },
        {
          "name": "icon",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 1
        },
        {
          "name": "desc2",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 10
        },
        {
          "name": "downloads",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 5
        },
        {
          "name": "main",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 3
        },
        {
          "name": "ctatext",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 12
        },
        {
          "name": "saleprice",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 7
        },
        {
          "name": "desc",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 2
        },
        {
          "name": "address",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 9
        },
        {
          "name": "likes",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 4
        },
        {
          "name": "logo",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 2
        },
        {
          "name": "displayurl",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 11
        },
        {
          "name": "title",
          "description": "Title object for title assets",
          "typeId": 1
        }
      ]
    },
    {
      "id": 2,
      "name": "Content Wall",
      "description": "Content Wall - Native Template",
      "nativeAttributes": [
        {
          "name": "main",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 3
        }
      ]
    },
    {
      "id": 3,
      "name": "App Wall",
      "description": "App Wall - Native Template",
      "nativeAttributes": [
        {
          "name": "title",
          "description": "Title object for title assets",
          "typeId": 1
        },
        {
          "name": "ctatext",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 12
        },
        {
          "name": "icon",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 1
        },
        {
          "name": "rating",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 3
        }
      ]
    },
    {
      "id": 4,
      "name": "News Feed",
      "description": "News Feed - Native Template",
      "nativeAttributes": [
        {
          "name": "ctatext",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 12
        },
        {
          "name": "title",
          "description": "Title object for title assets",
          "typeId": 1
        },
        {
          "name": "icon",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 1
        },
        {
          "name": "rating",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 3
        }
      ]
    },
    {
      "id": 5,
      "name": "Chat List",
      "description": "Chat List - Native Template",
      "nativeAttributes": [
        {
          "name": "title",
          "description": "Title object for title assets",
          "typeId": 1
        },
        {
          "name": "icon",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 1
        },
        {
          "name": "desc",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 2
        }
      ]
    },
    {
      "id": 6,
      "name": "Carousel",
      "description": "Carousel - Native Template",
      "nativeAttributes": [
        {
          "name": "desc",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 2
        },
        {
          "name": "icon",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 1
        },
        {
          "name": "rating",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 3
        },
        {
          "name": "title",
          "description": "Title object for title assets",
          "typeId": 1
        },
        {
          "name": "main",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 3
        }
      ]
    },
    {
      "id": 7,
      "name": "Content Stream",
      "description": "Content Stream - Native Template",
      "nativeAttributes": [
        {
          "name": "main",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 3
        },
        {
          "name": "desc",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 2
        },
        {
          "name": "title",
          "description": "Title object for title assets",
          "typeId": 1
        },
        {
          "name": "rating",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 3
        },
        {
          "name": "icon",
          "description": "Image object for image assets",
          "typeId": 2,
          "subTypeId": 1
        },
        {
          "name": "ctatext",
          "description": "Data object for data assets",
          "typeId": 3,
          "subTypeId": 12
        }
      ]
    }
  ]
}

 

Get List of AdUnits

This API retrieves a list of all available Ad Units for Native Ad Serving.

Request

URI$URI_PREFIX/nativeads/nativeadunit/
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Response Body

Response Body ParameterTypeDescription
descriptionStringShort description about the layout/template
nameStringName of the layout/template
IdIntegerId of the layout/template

Sample Request/Response JSON 

Sample URL: http://localhost:8080/nativeads/nativeadunit/

Response

{
  "metaData": {
    "startIndex": 1,
    "totalRecords": 5,
    "endIndex": 5
  },
  "items": [
    {
      "description": "Paid Search Unit - Native AdUnit",
      "name": "Paid Search Units",
      "id": 1
    },
    {
      "description": "Recommendation Widgets - Native AdUnit",
      "name": "Recommendation Widgets",
      "id": 2
    },
    {
      "description": "Promoted Listings - Native AdUnit",
      "name": "Promoted Listings",
      "id": 3
    },
    {
      "description": "In-Ad (IAB Standard) with Native Element Unit",
      "name": "In-Ad",
      "id": 4
    },
    {
      "description": "Custom - Native AdUnit",
      "name": "Custom",
      "id": 5
    }
  ]
}

 

Get Native Subtypes

This API is used to get the valid mime types for video and image asset.

Request

URI${URI_PREFIX}/nativeads/nativeassetsubtype/
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Sample Request/Response

Sample URL: http://localhost:8080/nativeads/nativeassetsubtype/

Response

{
  "metaData": {
    "startIndex": 1,
    "totalRecords": 15,
    "endIndex": 15
  },
  "items": [
    {
      "id": 1,
      "typeId": 2,
      "subTypeId": 1,
      "name": "icon",
      "description": "Icon image"
    },
    {
      "id": 2,
      "typeId": 2,
      "subTypeId": 2,
      "name": "logo",
      "description": "Logo image for brand/app"
    },
    {
      "id": 3,
      "typeId": 2,
      "subTypeId": 3,
      "name": "main",
      "description": "Large image preview for ad"
    },
    {
      "id": 4,
      "typeId": 3,
      "subTypeId": 1,
      "name": "sponsored",
      "description": "Sponsored By message"
    },
    {
      "id": 5,
      "typeId": 3,
      "subTypeId": 2,
      "name": "desc",
      "description": "Descriptive text for product"
    },
    {
      "id": 6,
      "typeId": 3,
      "subTypeId": 3,
      "name": "rating",
      "description": "Rating of the product"
    },
    {
      "id": 7,
      "typeId": 3,
      "subTypeId": 4,
      "name": "likes",
      "description": "Number of social likes"
    },
    {
      "id": 8,
      "typeId": 3,
      "subTypeId": 5,
      "name": "downloads",
      "description": "Number downloads"
    },
    {
      "id": 9,
      "typeId": 3,
      "subTypeId": 6,
      "name": "price",
      "description": "Price for product"
    },
    {
      "id": 10,
      "typeId": 3,
      "subTypeId": 7,
      "name": "saleprice",
      "description": "Sale price of product"
    },
    {
      "id": 11,
      "typeId": 3,
      "subTypeId": 8,
      "name": "phone",
      "description": "Phone number"
    },
    {
      "id": 12,
      "typeId": 3,
      "subTypeId": 9,
      "name": "address",
      "description": "Address"
    },
    {
      "id": 13,
      "typeId": 3,
      "subTypeId": 10,
      "name": "desc2",
      "description": "Additional descriptive text"
    },
    {
      "id": 14,
      "typeId": 3,
      "subTypeId": 11,
      "name": "displayurl",
      "description": "Display URL for the text ad"
    },
    {
      "id": 15,
      "typeId": 3,
      "subTypeId": 12,
      "name": "ctatext",
      "description": "Text for call to action button"
    }
  ]
}

 

Get Asset Types

Overview

This API fetches the Asset Types, i.e., top-level asset type listing available for configuration.

Request

URI${URI_PREFIX}/nativeads/nativeassettype/
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Response Body

Response Body ParameterTypeDescription
IdIntegerNative Asset Type Id
nameStringName of the Native Asset Type
descriptionStringDescription of Native Asset Type


Sample URL: http://localhost:8080/nativeads/nativeassettype

Response

{
  "metaData": {
    "startIndex": 1,
    "totalRecords": 4,
    "endIndex": 4
  },
  "items": [
    {
      "id": 1,
      "name": "title",
      "description": "Title object for title assets"
    },
    {
      "id": 2,
      "name": "image",
      "description": "Image object for image assets"
    },
    {
      "id": 3,
      "name": "data",
      "description": "Data object for data assets"
    },
    {
      "id": 4,
      "name": "video",
      "description": "Video object for video asset"
    }
  ]
}

 

Get List of Properties

Overview

This API method gets different properties that are required to be configured for a particular asset type. For example, for data asset type, the length needs to be configured.

Request

URI${URI_PREFIX}/nativeads/nativeassettype/properties
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Response Body

Response Body ParameterTypeDescription
IdIntegerID of the Native Asset Property
nameStringNative Asset Property Name
typeIdIntegerType ID of the Native Asset for which the property applies
typeStringType of the Native Asset for which the property is applicable
requiredBooleanThis field defines whether the parameter is a mandatory parameter or not
defaultValueStringDefault value of the property that will be considered if not provided by user during configuration.
displayNameStringField name that will be displayed on PubMatic UI. This is for UI purposes only.

Sample Request/ Response

Sample URL: http://localhost:8080/nativeads//nativeassettype/properties

Response

{
  "metaData": {
    "startIndex": 1,
    "totalRecords": 12,
    "endIndex": 12
  },
  "items": [
    {
      "id": 1,
      "name": "len",
      "typeId": 1,
      "type": "title",
      "required": 1,
      "defaultValue": "100",
      "displayName": "Length"
    },
    {
      "id": 2,
      "name": "w",
      "typeId": 2,
      "type": "image",
      "required": 0,
      "defaultValue": "640",
      "displayName": "Width"
    },
    {
      "id": 3,
      "name": "wmin",
      "typeId": 2,
      "type": "image",
      "required": 0,
      "defaultValue": "0",
      "displayName": "Min Width"
    },
    {
      "id": 4,
      "name": "h",
      "typeId": 2,
      "type": "image",
      "required": 0,
      "defaultValue": "480",
      "displayName": "Height"
    },
    {
      "id": 5,
      "name": "hmin",
      "typeId": 2,
      "type": "image",
      "required": 0,
      "defaultValue": "0",
      "displayName": "Min Height"
    },
    {
      "id": 6,
      "name": "mime",
      "typeId": 2,
      "type": "image",
      "required": 0,
      "defaultValue": "image/png",
      "displayName": "MIME Type"
    },
    {
      "id": 7,
      "name": "len",
      "typeId": 3,
      "type": "data",
      "required": 0,
      "defaultValue": "200",
      "displayName": "Length"
    },
    {
      "id": 8,
      "name": "mime",
      "typeId": 4,
      "type": "video",
      "required": 1,
      "defaultValue": "video/xwf",
      "displayName": "MIME Type"
    },
    {
      "id": 9,
      "name": "minduration",
      "typeId": 4,
      "type": "video",
      "required": 1,
      "defaultValue": "15",
      "displayName": "Min Duration"
    },
    {
      "id": 10,
      "name": "maduration",
      "typeId": 4,
      "type": "video",
      "required": 1,
      "defaultValue": "15",
      "displayName": "Max Duration"
    },
    {
      "id": 11,
      "name": "protocols",
      "typeId": 4,
      "type": "video",
      "required": 1,
      "defaultValue": "VAST 3.0",
      "displayName": "Protocols"
    },
    {
      "id": 12,
      "name": "vpaidsupport",
      "typeId": 4,
      "type": "video",
      "required": 0,
      "defaultValue": "2",
      "displayName": "VPAID Support"
    }
  ]
}

 

Get List of  Native AdTag Configuration

This API lists all available Native configurations. Native configuration involves configuration of native assets along with their properties. This configuration is saved in the system and is used at the time of adserving.

Request

URI${URI_PREFIX}/nativeads/nativeconfig
HTTP MethodGET

Request Headers

Header NameTypeRequiredValidationsDescription
PubTokenStringYes 

Publisher Token to authenticate and authorize the user calling the Unified Ad Server API. Send the access token generated for authentication at the place of ${access_token} in the request.

 

For more information about access tokens, refer to Getting Started with PubMatic APIs.

Request Query Parameters

Parameter NameTypeRequiredValidationsDescription
pubIdIntegerYes Publisher ID for which Native Configuration list should be listed

Response Body

Response Body ParameterTypeRequiredDescription
IdIntegerNoNative configurations Id
nameStringNoName for the configuration
layoutIdIntegerNoLayout Id (Template Id) for the configuration
pubIdIntegerYesPublisher Id for which the configuration is created
isDeletedIntegerYesDeleted value with be 0/1
assetsArrayYesAssets array for teh configuration
assets[n].idIntegerNoId of an asset
assets[n].assetIdIntegerNoassetId that is used in openRTB JSON
assets[n].typeIdIntegerYesType Id of an asset
assets[n].typeNameStringYesType name of an asset
assets[n].subTypeIdIntegerNoSubtype of an asset if present
assets[n].isRequiredIntegerYesRequired field value will be 0/1
assets[n].isDeletedIntegerYesDeleted value will be 0/1
assets[n].propertiesArrayYesArray of properties for an asset
assets[n].properties[n].idIntegerNoId of a property not needed in case of create
assets[n].properties[n].nameStringYesName of the key. Example: w, h, len
assets[n].valueStringYesValue for the key. Example: 200,30
assets[n].properties[n].isDeletedIntegerYesValue for del

Sample Request/ Response

http://localhost:8080/nativeads/nativeconfig?pubId=100307

Response

{
  "metaData": {
    "startIndex": 1,
    "totalRecords": 3,
    "endIndex": 3
  },
  "items": [
    {
      "id": 19,
      "name": "NativeConfig_100307_61522",
      "layoutId": 1,
      "pubId": 100307,
      "adunitId": 0,
      "isDeleted": 0,
      "assets": [
        {
          "id": 80,
          "assetId": 0,
          "typeId": 1,
          "typeName": "title",
          "subTypeId": 0,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 57,
              "configId": 80,
              "name": "len",
              "value": "100",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 81,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 1,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 58,
              "configId": 81,
              "name": "wmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 59,
              "configId": 81,
              "name": "hmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 60,
              "configId": 81,
              "name": "mime",
              "value": "image/jpeg",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 82,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 3,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 61,
              "configId": 82,
              "name": "wmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 62,
              "configId": 82,
              "name": "hmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 63,
              "configId": 82,
              "name": "mime",
              "value": "image/jpeg",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 83,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 2,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 64,
              "configId": 83,
              "name": "wmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 65,
              "configId": 83,
              "name": "hmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 66,
              "configId": 83,
              "name": "mime",
              "value": "image/jpeg",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 84,
          "assetId": 0,
          "typeId": 3,
          "typeName": "data",
          "subTypeId": 1,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 67,
              "configId": 84,
              "name": "len",
              "value": "200",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 85,
          "assetId": 0,
          "typeId": 4,
          "typeName": "video",
          "subTypeId": 0,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 68,
              "configId": 85,
              "name": "mime",
              "value": "video/xwf",
              "isDeleted": 0
            },
            {
              "id": 69,
              "configId": 85,
              "name": "minduration",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 70,
              "configId": 85,
              "name": "maduration",
              "value": "30",
              "isDeleted": 0
            },
            {
              "id": 71,
              "configId": 85,
              "name": "protocols",
              "value": "VAST 1.0,VAST 2.0,VAST 3.0",
              "isDeleted": 0
            }
          ]
        }
      ]
    },
    {
      "id": 28,
      "name": "NativeConfig_100307_99070",
      "layoutId": 1,
      "pubId": 100307,
      "adunitId": 0,
      "isDeleted": 0,
      "assets": [
        {
          "id": 117,
          "assetId": 0,
          "typeId": 1,
          "typeName": "title",
          "subTypeId": 0,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 83,
              "configId": 117,
              "name": "len",
              "value": "100",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 118,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 3,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": []
        },
        {
          "id": 119,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 2,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 84,
              "configId": 119,
              "name": "wmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 85,
              "configId": 119,
              "name": "hmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 86,
              "configId": 119,
              "name": "mime",
              "value": "image/jpeg",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 120,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 1,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 87,
              "configId": 120,
              "name": "wmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 88,
              "configId": 120,
              "name": "hmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 89,
              "configId": 120,
              "name": "mime",
              "value": "image/jpeg",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 121,
          "assetId": 0,
          "typeId": 3,
          "typeName": "data",
          "subTypeId": 1,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 90,
              "configId": 121,
              "name": "len",
              "value": "200",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 122,
          "assetId": 0,
          "typeId": 4,
          "typeName": "video",
          "subTypeId": 0,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 91,
              "configId": 122,
              "name": "mime",
              "value": "video/xwf",
              "isDeleted": 0
            },
            {
              "id": 92,
              "configId": 122,
              "name": "minduration",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 93,
              "configId": 122,
              "name": "maduration",
              "value": "30",
              "isDeleted": 0
            },
            {
              "id": 94,
              "configId": 122,
              "name": "protocols",
              "value": "VAST 1.0,VAST 2.0,VAST 3.0",
              "isDeleted": 0
            }
          ]
        }
      ]
    },
    {
      "id": 29,
      "name": "NativeConfig_100307_28931",
      "layoutId": 1,
      "pubId": 100307,
      "adunitId": 0,
      "isDeleted": 0,
      "assets": [
        {
          "id": 123,
          "assetId": 0,
          "typeId": 1,
          "typeName": "title",
          "subTypeId": 0,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 95,
              "configId": 123,
              "name": "len",
              "value": "100",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 124,
          "assetId": 0,
          "typeId": 2,
          "typeName": "image",
          "subTypeId": 3,
          "isRequired": 0,
          "isDeleted": 0,
          "properties": [
            {
              "id": 96,
              "configId": 124,
              "name": "wmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 97,
              "configId": 124,
              "name": "hmin",
              "value": "0",
              "isDeleted": 0
            },
            {
              "id": 98,
              "configId": 124,
              "name": "mime",
              "value": "image/jpeg",
              "isDeleted": 0
            }
          ]
        },
        {
          "id": 125,
          "assetId": 0,