Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BidRequest "ext" field expects the wrong JSON type. #80

Open
j3pic opened this issue Feb 21, 2019 · 0 comments
Open

BidRequest "ext" field expects the wrong JSON type. #80

j3pic opened this issue Feb 21, 2019 · 0 comments

Comments

@j3pic
Copy link

j3pic commented Feb 21, 2019

I extracted the AVRO schema from a Java source file generated during the build, and converted it to JSON Schema. The result is at the bottom of this comment.

It defines the toplevel ext key as being either a string or null, when it should be either an
object or null. As a result, my app wasn't able to talk to your OpenRTB demand-side servlet.

{
  "definitions" : {
    "record:org.openrtb.common.api.BidRequest" : {
      "type" : "object",
      "required" : [ "id", "imp", "site", "app", "device", "user", "at", "tmax", "wseat", "allimps", "cur", "bcat", "badv", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "imp" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Impression"
          }
        },
        "site" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Site"
          }, {
            "type" : "null"
          } ]
        },
        "app" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.App"
          }, {
            "type" : "null"
          } ]
        },
        "device" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Device"
          }, {
            "type" : "null"
          } ]
        },
        "user" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.User"
          }, {
            "type" : "null"
          } ]
        },
        "at" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "tmax" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "wseat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "allimps" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "cur" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "bcat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "badv" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Impression" : {
      "type" : "object",
      "required" : [ "id", "banner", "video", "displaymanager", "displaymanagerver", "instl", "tagid", "bidfloor", "bidfloorcur", "iframebuster", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "banner" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Banner"
          }, {
            "type" : "null"
          } ]
        },
        "video" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Video"
          }, {
            "type" : "null"
          } ]
        },
        "displaymanager" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "displaymanagerver" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "instl" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "tagid" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "bidfloor" : {
          "oneOf" : [ {
            "type" : "number"
          }, {
            "type" : "null"
          } ]
        },
        "bidfloorcur" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "iframebuster" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Banner" : {
      "type" : "object",
      "required" : [ "w", "h", "id", "pos", "btype", "battr", "mimes", "topframe", "expdir", "api", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "w" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "h" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "pos" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "btype" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "battr" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "mimes" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "topframe" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "expdir" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "api" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Video" : {
      "type" : "object",
      "required" : [ "mimes", "linearity", "minduration", "maxduration", "protocol", "w", "h", "startdelay", "sequence", "battr", "maxextended", "minbitrate", "maxbitrate", "boxingallowed", "playbackmethod", "delivery", "pos", "companionad", "api", "companiontype", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "mimes" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "linearity" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "minduration" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "maxduration" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "protocol" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "w" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "h" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "startdelay" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "sequence" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "battr" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "maxextended" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "minbitrate" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "maxbitrate" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "boxingallowed" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "playbackmethod" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "delivery" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "pos" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "companionad" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "$ref" : "#/definitions/record:org.openrtb.common.api.Banner"
            }
          }, {
            "type" : "null"
          } ]
        },
        "api" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "companiontype" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "minimum" : -2147483648,
              "maximum" : 2147483647
            }
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Site" : {
      "type" : "object",
      "required" : [ "id", "name", "domain", "cat", "sectioncat", "pagecat", "page", "privacypolicy", "ref", "search", "publisher", "content", "keywords", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "name" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "domain" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "cat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "sectioncat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "pagecat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "page" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "privacypolicy" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "ref" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "search" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "publisher" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Publisher"
          }, {
            "type" : "null"
          } ]
        },
        "content" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Content"
          }, {
            "type" : "null"
          } ]
        },
        "keywords" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Publisher" : {
      "type" : "object",
      "required" : [ "id", "name", "cat", "domain", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "name" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "cat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "domain" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Content" : {
      "type" : "object",
      "required" : [ "id", "episode", "title", "series", "season", "url", "cat", "videoquality", "keywords", "contentrating", "userrating", "context", "livestream", "sourcerelationship", "producer", "len", "qagmediarating", "embeddable", "language", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "episode" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "title" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "series" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "season" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "url" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "cat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "videoquality" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "keywords" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "contentrating" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "userrating" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "context" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "livestream" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "sourcerelationship" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "producer" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Producer"
          }, {
            "type" : "null"
          } ]
        },
        "len" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "qagmediarating" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "embeddable" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "language" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Producer" : {
      "type" : "object",
      "required" : [ "id", "name", "cat", "domain", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "name" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "cat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "domain" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.App" : {
      "type" : "object",
      "required" : [ "id", "name", "domain", "cat", "sectioncat", "pagecat", "ver", "bundle", "privacypolicy", "paid", "publisher", "content", "keywords", "storeurl", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "name" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "domain" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "cat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "sectioncat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "pagecat" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }, {
            "type" : "null"
          } ]
        },
        "ver" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "bundle" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "privacypolicy" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "paid" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "publisher" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Publisher"
          }, {
            "type" : "null"
          } ]
        },
        "content" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Content"
          }, {
            "type" : "null"
          } ]
        },
        "keywords" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "storeurl" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Device" : {
      "type" : "object",
      "required" : [ "dnt", "ua", "ip", "geo", "didsha1", "didmd5", "dpidsha1", "dpidmd5", "ipv6", "carrier", "language", "make", "model", "os", "Osv", "Js", "connectiontype", "deviceType", "flashver", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "dnt" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "ua" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ip" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "geo" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Geo"
          }, {
            "type" : "null"
          } ]
        },
        "didsha1" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "didmd5" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "dpidsha1" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "dpidmd5" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ipv6" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "carrier" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "language" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "make" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "model" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "os" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "Osv" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "Js" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "connectiontype" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "deviceType" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "flashver" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Geo" : {
      "type" : "object",
      "required" : [ "lat", "lon", "country", "region", "regionfips104", "metro", "city", "zip", "type", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "lat" : {
          "oneOf" : [ {
            "type" : "number"
          }, {
            "type" : "null"
          } ]
        },
        "lon" : {
          "oneOf" : [ {
            "type" : "number"
          }, {
            "type" : "null"
          } ]
        },
        "country" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "region" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "regionfips104" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "metro" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "city" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "zip" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "type" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.User" : {
      "type" : "object",
      "required" : [ "Id", "buyeruid", "yob", "gender", "keywords", "customdata", "geo", "data", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "Id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "buyeruid" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "yob" : {
          "oneOf" : [ {
            "type" : "integer",
            "minimum" : -2147483648,
            "maximum" : 2147483647
          }, {
            "type" : "null"
          } ]
        },
        "gender" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "keywords" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "customdata" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "geo" : {
          "oneOf" : [ {
            "$ref" : "#/definitions/record:org.openrtb.common.api.Geo"
          }, {
            "type" : "null"
          } ]
        },
        "data" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "$ref" : "#/definitions/record:org.openrtb.common.api.Data"
            }
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Data" : {
      "type" : "object",
      "required" : [ "id", "name", "segment", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "name" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "segment" : {
          "oneOf" : [ {
            "type" : "array",
            "items" : {
              "$ref" : "#/definitions/record:org.openrtb.common.api.Segment"
            }
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    },
    "record:org.openrtb.common.api.Segment" : {
      "type" : "object",
      "required" : [ "id", "name", "value", "ext" ],
      "additionalProperties" : false,
      "properties" : {
        "id" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "name" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "value" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        },
        "ext" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "null"
          } ]
        }
      }
    }
  },
  "$ref" : "#/definitions/record:org.openrtb.common.api.BidRequest"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant