[
  {
    "path": "CHANGELOG",
    "content": "\n\nThis section of the CHANGELOG describes changes to the OpenRTB 2.2 SPEC.  See the openrtb-dev mailing list for discussions\n\nOct 25, 2013 Release Candiate RC1\n  Changes:\n     http://code.google.com/p/openrtb/wiki/MobileMods\n     http://code.google.com/p/openrtb/wiki/COPPASignaling\n     http://code.google.com/p/openrtb/wiki/VideoLinearityChange\n     http://code.google.com/p/openrtb/wiki/ProposalforPrivateMarketplaceDealIDExtensions\n     http://code.google.com/p/openrtb/wiki/OpenRTBNonHumanTrafficSignaling\n\nNovember 20, 2013 Release Candidate RC2\n  Changes:\n    - re-did the object diagrams in Word \"Shapes\" (uggggg)\n    - fixed a few typos\n    - added option #3 fixed-price deals for at field values.\n    - private_auction is an integer flag\n\nJan 17, 2014 Release Candiate RC3\n   Changes:\n    - updated the examples\n    - added link to GitHub examples repository\n    - update keywords descriptions to note inconsistencies of in-the-wild implementations  \n   \nFeb 4, 2014 Release Candidate RC4\n   Changes since RC3:\n    - Change hopepage of the project to the github repository\n         (Google Code is no longer accepting uploads)\n    - Add note on Github repository in examples section\n    - All examples various orgs provided are now in GitHub.\n    - misc typos and capitalization errors\n    - insert comment per thread \"Device type phone vs tablet\" in Table 6.16\n    - add optional hmax & wmax to banner object per \"banner.wmin/hmin\" thread\n    - add optional version header to response object\n\nFeb 4, 2014 Release Candidate RC5\n   Changes:\n    - added wadomain as optional field as list of strings in Deals object.\n    - tweaked wording of Deals wseats description to be more clear.\n    - corrected two typos from Word's obsessive auto-correction & auto-capitalization of field names. \n\nFeb 6, 2014 Release Candidate RC6\n   Changes\n    - added video.protocols field and tweaked language of video.protocol\n\nFeb 9, 2014 Release Candidate RC7\n   Changes\n    - further tweak of video.protocol and video.protocols description\n    - promotion of video.protocols to recommended\n    - demotion of video.protocols to optional\n    - added e.g. note to the device.ifa field\n\nFeb 12, 2014 Release Candidate RC8\n   Changes\n    - Capitalization corrections needed for imp.Id, video.Mimes, video.Pos, video.Api, and video.Ext\n    - pmp.deals declared as an \"array of objects\".\n    - pmp.private_auction now indicates the meaning of its values in the description\n    - Added section and link to the public validator developed by NextAge\n\nMarch 18, 2014 Release Candidate RC9\n   Changes\n    - add imp.secure flag for positive signaling of HTTPS/SSL creative assests in the bids.\n\nMarch 19, 2014 Release Candidate FINAL\n   Changes\n    - Cosmetic changes to URL links broken in the conversion from Word to PDF.\n\nApril 21, 2014\n   Changes\n   - add 'integer' as field type for h/v in bid response object.  FINAL DRAFT.\n\n\n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright (c) 2014, OpenRTB Project\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice, this\n  list of conditions and the following disclaimer in the documentation and/or\n  other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "README.md",
    "content": "OpenRTB Spec\n=======\n\nThe home for documentation and issue tracking for OpenRTB\n\nFor general information, see [openrtb.github.io/OpenRTB](http://openrtb.github.io/OpenRTB)\n\nTo file an issue, use [GitHub Issues](https://github.com/openrtb/OpenRTB/issues).\n\nOpenRTB has two mailing lists you can join:\n\n- for discussions about **the development** of the OpenRTB spec, visit \n[openrtb-dev](https://groups.google.com/forum/#!forum/openrtb-dev).\n\n- for discussions about **using** OpenRTB: visit\n[openrtb-user](https://groups.google.com/forum/#!forum/openrtb-user)\n\n"
  },
  {
    "path": "proposals.txt",
    "content": "\n=======  Multi Size support ==========\n\nIn OpenRTB 2.32 we introduced wmin/wmax and hmin/hmax in an attempt to support one bid request for multiple sizes.\nUnfortunately it didn't solve the problem well as it does not give the bidder unambiguous directions.\n\nProblem statement:\nA seller wants to expose an impression that support multiple 'formats'. Example:\nSingle impression will support [600x250] that changes shape on rollover via a well defined \nIAB Rising stars unit or [300x250] with a fixed creative size.\n\nUsing wmin/wmax & hmin/hmax allows the seller's exchange to specify the below:\n\"wmin\": 300\n\"wmax\": 600\n\"w\":    300\n\"hmin\": 250\n\"hmax\": 250\n\"h\":    250\n \nHowever these instructions to the bidder are ambiguous as a 500x250 format is technically within the constraints expressed, \nyet not desired by the seller.  Additionally the seller wants confirmation of the format of the bid response in order to price \nthe ad placement differently based upon the bid's creative size.  Analytics and reporting on ad formats is also more difficult\nas the exchange must map the bid response back to a standard adunit size supported, also a source of ambiguity.\n\n\nThe following work-arounds are known to exist to eliminate this ambiguity in OpenRTB\n- use of private extension to specify an array of w/h pairs.\n- parallel bid requests to the same bidder with different sizes\n- sequential cascaded requests to the same bidder with different sizes\n\nWe propose the following approach for OpenRTB 2.3 or a subsequent draft.\n\nRequest object changes\n\nBanner object\n|| Field || Scope || Type || Default || Description ||\n| w      | optional/recommended | integer | - | Width of the impression in pixels. Since some ad types are not restricted by size this field is not required, but it’s highly recommended that this information be included when possible. |\n| h      | optional/recommended |  integer | - | Height of the impression in pixels. Since some ad types are not restricted by size this field is not required, but it’s highly recommended that this information be included when possible. |\n| wmin   | optional | integer | - | Deprecated |\n| wmax   | optional | integer | - | Deprecated |\n| hmin   | optional | integer | - | Deprecated |\n| hmax   | optional | integer | - | Deprecated |\n| sizes  | optional | array of objects  | - | An array of objects representing available ad sizes and formats for bid on this impression.  If utilized it is recommended that the array contain at least one entry.  See Sizes Object for more detail. |\n\nNote that if w & h are omitted is recommended that the sizes array of objects be present and populated with at least one entry.\n\nSizes Object\n|| Field || Scope || Type || Default || Description ||\n| w      | recommended | integer | - | Width of the ad size in pixels.  |\n| h      | recommended | integer | - | Height of the ad size in pixels. |\n| fmt    | optional    | integer | - | The format ID of the ad.  See Table X.Y below |\n\nResponse Object changes\n\nBid Object\n|| Field || Scope || Type || Default || Description ||\n| w      | recommended | integer | - | Width of the ad size in pixels.  |\n| h      | recommended | integer | - | Height of the ad size in pixels. |\n| fmt | optional | integer | - | The format ID of the ad.  See Table X.Y below |\n\nExample Request:\n\n\"banner\": { \n    \"sizes\": [ \n        {\n            \"w\": 600,\n            \"h\": 250,\n            \"fmt: 55\n        },\n        {\n            \"w\": 300,\n            \"h\": 250,\n            \"fmt:  3\n        }\n\n     ],\n    \"pos\": 0 \n    },\n\nAn advantage of this representation is that the bidder can simply iterate on the sizes array and match the w/h/fmt with its internal list of ad formats available for bidding.\n\nAs a note Google's AdX protocol provides a facility to solve this problem via an array of w & h sizes.  This has proven to work in practice yet doesn't allow the optional 'format id' to unambiguously specify that a given ad format is supported for bidding (along with all known features of that ad format).\n\"w\": [600,300]\n\"h\": [250,250]\n\n\n=======  Viewability support ==========\n\nThe viewability of a given impression is now emerging an important factor to buyers and sellers of ad unit inventory for mobile, video, social and display.\n\nImpression object \n|| Field || Scope || Type || Default || Description ||\n| viewstats | Optional | object | -  | The measured viewability statistics of associated impression.  Ideally these statistics are specific to the 'tagid' ie placement within the larger content and ad layout. See View Stats object. | \n\nView Stats object \n|| Field || Scope || Type || Default || Description ||\n| onesec | Optional | string | -  | The probability of the impression's placement being at least 50% in-view of the user for 1 second.  | \n| fivesec | Optional | string | -  | The probability of the impression's placement being at least 50% in-view of the user for 5 seconds.  | \n| cnfd | optional | float | - | The confidence interval expressed as a probability of the viewability statistics. |\n| vendor | Optional | string | -  | An optional identifier of the vendor of the viewability statistics | \n\nExample:\n\n\"imp\": [\n{\n    \"id\": \"1\",\n    \"banner\": { \n        \"w\": 728, \n        \"h\": 90, \n        \"pos\": 1,\n        \"btype\": [ 4 ], \n        \"battr\": [ 14 ],\n        \"api\": [ 3 ] \n    },\n    \"instl\": 0,\n    \"bidfloor\": 0.5,\n    \"tagid\": \"agltb3B1Yi1pbmNyDQsSBFNpdGUY7fD0FAw\", \n    \"viewstats\": {\n        \"onesec\": 0.85,\n        \"cnfd\"  \" 0.99,\n        \"vendor\": \"XYZ.com\"\n    }\n}\n\n\n"
  }
]