json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "title": "Appnexus Adapter Params",
      "description": "A schema which validates params accepted by the AppNexus adapter",
      "type": "object",
      "properties": {
          "placement_id": {
              "type": "integer",
              "description": "An ID which identifies this placement of the impression"
          },
          "placementId": {
              "type": "integer",
              "description": "Deprecated, use placement_id instead."
          },
          "inv_code": {
              "type": "string",
              "description": "A code identifying the inventory of this placement."
          },
          "invCode": {
              "type": "string",
              "description": "Deprecated, use inv_code instead."
          },
          "member": {
              "type": "string",
              "description": "An ID which identifies the member selling the impression."
          },
          "keywords": {
              "type": "array",
              "minItems": 1,
              "items": {
                  "type": "object",
                  "description": "A key with one or more values associated with it. These are used in buy-side segment targeting.",
                  "properties": {
                      "key": {
                          "type": "string"
                      },
                      "value": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                              "type": "string"
                          }
                      }
                  },
                  "required": [
                      "key"
                  ]
              }
          },
          "traffic_source_code": {
              "type": "string",
              "description": "Specifies the third-party source of this impression."
          },
          "trafficSourceCode": {
              "type": "string",
              "description": "Deprecated, use traffic_source_code instead."
          },
          "reserve": {
              "type": "number",
              "description": "The minimium acceptable bid, in CPM, using US Dollars"
          },
          "position": {
              "type": "string",
              "enum": [
                  "above",
                  "below"
              ],
              "description": "Specifies the ad unit as above or below the fold"
          },
          "use_pmt_rule": {
              "type": "boolean",
              "description": "Boolean to signal AppNexus to apply the relevant payment rule"
          },
          "private_sizes": {
              "type": "array",
              "items": {
                  "type": "object",
                  "properties": {
                      "w": {
                          "type": "integer"
                      },
                      "h": {
                          "type": "integer"
                      }
                  },
                  "required": [
                      "w",
                      "h"
                  ]
              },
              "description": "Private sizes (ex: [{\"w\": 300, \"h\": 250},{...}]), experimental, may not be supported."
          }
      },
      "oneOf": [
          {
              "oneOf": [
                  {
                      "required": [
                          "placementId"
                      ]
                  },
                  {
                      "required": [
                          "placement_id"
                      ]
                  }
              ]
          },
          {
              "oneOf": [
                  {
                      "required": [
                          "invCode",
                          "member"
                      ]
                  },
                  {
                      "required": [
                          "inv_code",
                          "member"
                      ]
                  }
              ]
          }
      ],
      "not": {
          "required": [
              "placementId",
              "invCode",
              "member"
          ]
      }
  }